Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 15, 2019 6:57 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Tue Feb 20, 2018 10:20 am 
Offline
User avatar

Joined: Tue Jul 04, 2017 5:14 pm
Posts: 20
Ну, как ELF в GNU/Linux или MS COFF в Windows?

Простите за, возможно, тупой вопрос.


Top
   
PostPosted: Tue Feb 20, 2018 5:04 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
SysFn68.18, 68.19 умеет грузить MS COFF (dll.inc), gcc+newlib и inport.inc умеют грузить PE DLL.

gnu linker и tcc умеют линковать .a ELF формата.


Top
   
PostPosted: Tue Feb 20, 2018 9:08 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
mkostoevr wrote:
стандартный формат объектных файлов
Тут надо ещё уточнить, что подразумевается под словом "стандартный". А нестандартный тогда это какой?

С точки зрения системы:Родной ассемблер FASM, входящий в дистрибутив KolibriOS, может производить различные форматы elf, coff, ms coff, pe http://flatassembler.net/docs.php?article=manual#2.4


Top
   
PostPosted: Tue Feb 20, 2018 10:43 pm 
Offline
User avatar

Joined: Tue Jul 04, 2017 5:14 pm
Posts: 20
0CodErr wrote:
mkostoevr wrote:
стандартный формат объектных файлов
Тут надо ещё уточнить, что подразумевается под словом "стандартный". А нестандартный тогда это какой?


Большинство компиляторов на винде (знаю MS VC/C++, MinGW, masm, PellesC, TCC) генерируют объектные файлы формата MS COFF.
Компиляторы, имеющиеся на пингвине (знаю GCC, TCC, Clang *) по дефолту генерируют объектные файлы формата ELF.

Под словом "стандартный" имелось ввиду, формат объектных файлов (именно используемых при компиляции модулей программ), который в КОС наиболее распространён, и который позволяет объединять вместе модули, скомпилированные разными компиляторами разных языков программирования в один исполняемый файл.

Да, можно линковать и COFF с ELF и в итоге получить MENUET01, но есть ли какой-то (пусть негласный) стандарт, как в вышеупомянутых системах?

* Clang, в зависимости от установленных при компиляции флагов, может генерировать и файлы своего собственного, удобного для межмодульной link-time оптимизации, формата (но это не точно :) ).


Top
   
PostPosted: Tue Feb 20, 2018 11:01 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
задавай конкретный вопрос, что ты хочешь получить в итоге?


Top
   
PostPosted: Tue Feb 20, 2018 11:27 pm 
Offline
User avatar

Joined: Tue Jul 04, 2017 5:14 pm
Posts: 20
Siemargl wrote:
задавай конкретный вопрос, что ты хочешь получить в итоге?


Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.


Top
   
PostPosted: Tue Feb 20, 2018 11:40 pm 
Offline

Joined: Sun Oct 27, 2013 8:13 pm
Posts: 142
Сейчас, наиболее часто связь между разными языками/компиляторами организуется посредством dll. Функцию dll выполняет формат MS COFF. Возможно, будет еще dll-PE.


Top
   
PostPosted: Tue Feb 20, 2018 11:42 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
mkostoevr wrote:
Siemargl wrote:
задавай конкретный вопрос, что ты хочешь получить в итоге?


Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.

viewtopic.php?f=33&t=3418 - наименьший делитель - MS COFF

перспектива - PE DLL - но тут есть тонкости, которые лучше пояснят Супермышь и Серг - я в детали еще не полез.

основные языки сейчас - asm, c--,
отчасти c, oberon (тоже подтянет COFF) - чуть великоваты исполняемые модули

про Борланодовские ньансы с delphi7 и bcc - лучше пояснит 0CodErr - там свои проблемы


Top
   
PostPosted: Wed Feb 21, 2018 12:05 am 
Offline
User avatar

Joined: Tue Jul 04, 2017 5:14 pm
Posts: 20
Понял, благодарен всем за оперативные ответы.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited