Page 1 of 1
Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 10:20 am
by mkostoevr
Ну, как ELF в GNU/Linux или MS COFF в Windows?
Простите за, возможно, тупой вопрос.
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 5:04 pm
by Siemargl
SysFn68.18, 68.19 умеет грузить MS COFF (dll.inc), gcc+newlib и inport.inc умеют грузить PE DLL.
gnu linker и tcc умеют линковать .a ELF формата.
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 9:08 pm
by 0CodErr
mkostoevr wrote: стандартный формат объектных файлов
Тут надо ещё уточнить, что подразумевается под словом "
стандартный". А нестандартный тогда это какой?
С точки зрения системы:
Родной ассемблер
FASM, входящий в дистрибутив
KolibriOS, может производить различные форматы
elf,
coff,
ms coff,
pe http://flatassembler.net/docs.php?article=manual#2.4
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 10:43 pm
by mkostoevr
0CodErr wrote:mkostoevr wrote: стандартный формат объектных файлов
Тут надо ещё уточнить, что подразумевается под словом "
стандартный". А нестандартный тогда это какой?
Большинство компиляторов на винде (знаю MS VC/C++, MinGW, masm, PellesC, TCC) генерируют объектные файлы формата MS COFF.
Компиляторы, имеющиеся на пингвине (знаю GCC, TCC, Clang *) по дефолту генерируют объектные файлы формата ELF.
Под словом "стандартный" имелось ввиду, формат объектных файлов (именно используемых при компиляции модулей программ), который в КОС наиболее распространён, и который позволяет объединять вместе модули, скомпилированные разными компиляторами разных языков программирования в один исполняемый файл.
Да, можно линковать и COFF с ELF и в итоге получить MENUET01, но есть ли какой-то (пусть негласный) стандарт, как в вышеупомянутых системах?
* Clang, в зависимости от установленных при компиляции флагов, может генерировать и файлы своего собственного, удобного для межмодульной link-time оптимизации, формата (но это не точно
).
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 11:01 pm
by Siemargl
задавай конкретный вопрос, что ты хочешь получить в итоге?
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 11:27 pm
by mkostoevr
Siemargl wrote:задавай конкретный вопрос, что ты хочешь получить в итоге?
Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 11:40 pm
by akron1
Сейчас, наиболее часто связь между разными языками/компиляторами организуется посредством dll. Функцию dll выполняет формат MS COFF. Возможно, будет еще dll-PE.
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Tue Feb 20, 2018 11:42 pm
by Siemargl
mkostoevr wrote:Siemargl wrote:задавай конкретный вопрос, что ты хочешь получить в итоге?
Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.
http://board.kolibrios.org/viewtopic.php?f=33&t=3418 - наименьший делитель - MS COFF
перспектива - PE DLL - но тут есть тонкости, которые лучше пояснят Супермышь и Серг - я в детали еще не полез.
основные языки сейчас - asm, c--,
отчасти c, oberon (тоже подтянет COFF) - чуть великоваты исполняемые модули
про Борланодовские ньансы с delphi7 и bcc - лучше пояснит 0CodErr - там свои проблемы
Re: Есть ли в Колибри стандартный формат объектных файлов?
Posted: Wed Feb 21, 2018 12:05 am
by mkostoevr
Понял, благодарен всем за оперативные ответы.