Ну, как ELF в GNU/Linux или MS COFF в Windows?
Простите за, возможно, тупой вопрос.
Есть ли в Колибри стандартный формат объектных файлов?
SysFn68.18, 68.19 умеет грузить MS COFF (dll.inc), gcc+newlib и inport.inc умеют грузить PE DLL.
gnu linker и tcc умеют линковать .a ELF формата.
gnu linker и tcc умеют линковать .a ELF формата.
Тут надо ещё уточнить, что подразумевается под словом "стандартный". А нестандартный тогда это какой?mkostoevr wrote: стандартный формат объектных файлов
С точки зрения системы:
- MS COFF — динамические библиотеки имеют такой формат
STRIPPED PE — такой формат у драйверов http://websvn.kolibrios.org/filedetails ... c#line-932
если не ошибаюсь, то обычный PE тоже поддерживается http://websvn.kolibrios.org/filedetails ... peload.inc
Большинство компиляторов на винде (знаю MS VC/C++, MinGW, masm, PellesC, TCC) генерируют объектные файлы формата MS COFF.0CodErr wrote:Тут надо ещё уточнить, что подразумевается под словом "стандартный". А нестандартный тогда это какой?mkostoevr wrote: стандартный формат объектных файлов
Компиляторы, имеющиеся на пингвине (знаю GCC, TCC, Clang *) по дефолту генерируют объектные файлы формата ELF.
Под словом "стандартный" имелось ввиду, формат объектных файлов (именно используемых при компиляции модулей программ), который в КОС наиболее распространён, и который позволяет объединять вместе модули, скомпилированные разными компиляторами разных языков программирования в один исполняемый файл.
Да, можно линковать и COFF с ELF и в итоге получить MENUET01, но есть ли какой-то (пусть негласный) стандарт, как в вышеупомянутых системах?
* Clang, в зависимости от установленных при компиляции флагов, может генерировать и файлы своего собственного, удобного для межмодульной link-time оптимизации, формата (но это не точно
![Smile :)](./images/smilies/icon_smile.gif)
задавай конкретный вопрос, что ты хочешь получить в итоге?
Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.Siemargl wrote:задавай конкретный вопрос, что ты хочешь получить в итоге?
Сейчас, наиболее часто связь между разными языками/компиляторами организуется посредством dll. Функцию dll выполняет формат MS COFF. Возможно, будет еще dll-PE.
http://board.kolibrios.org/viewtopic.php?f=33&t=3418 - наименьший делитель - MS COFFmkostoevr wrote:Пытаюсь писать компилятор одного ЯВУ. Но нужно, чтобы мой компилятор можно было использовать и в сочетании с другиими, уже испольуемыми в КОС. Поэтому, интересен используемый существуюими компиляторами формат, компиляцию в который стоит реализовывать в первую очередь.Siemargl wrote:задавай конкретный вопрос, что ты хочешь получить в итоге?
перспектива - PE DLL - но тут есть тонкости, которые лучше пояснят Супермышь и Серг - я в детали еще не полез.
основные языки сейчас - asm, c--,
отчасти c, oberon (тоже подтянет COFF) - чуть великоваты исполняемые модули
про Борланодовские ньансы с delphi7 и bcc - лучше пояснит 0CodErr - там свои проблемы
Понял, благодарен всем за оперативные ответы.
Who is online
Users browsing this forum: No registered users and 2 guests