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
Понял, благодарен всем за оперативные ответы.