Интероперабельность

High-level languages programming questions
  • Ну по идее почти все так или иначе умеют использовать COFF библиотеки. К примеру, Delphi\FreePascal. Вот, например, XDS ещё умеет viewtopic.php?f=33&t=2280&p=52371#p47919 И даже такие самодельные трансляторы как этот viewtopic.php?f=4&t=761[quote]С другой стороны, их создание поддерживается С--, ASM, и любым С-компилятором.[/quote]Такое и про COFF можно сказать. А вот для PE обычно ещё и линкер нужен(хотя и не всегда).
    ручная привязка функций по именам.
    Ну при желании можно было и по ординалам экспортировать\импортировать, но тогда это уже менее гибко получается.
  • Чтоб никто как я 15 минут своей жизни не потратил, вот спецификация того самого coff: http://www.ti.com/lit/an/spraao8/spraao8.pdf. M$ PE COFF, как я понял, не подходит.
  • mkostoevr wrote:M$ PE COFF, как я понял, не подходит.
    Не, у нас как раз именно MS COFF.
    А та самая спецификация есть, например, в прикреплённом файле(pecoff.pdf) этого сообщения http://board.kolibrios.org/viewtopic.ph ... 577#p69106
    Да, COFF бывают разные, к примеру, вот выходные форматы NASM

    Code: Select all

    valid output formats for -f are (`*' denotes default):
      * bin       flat-form binary files (e.g. DOS .COM, .SYS)
        ith       Intel hex
        srec      Motorola S-records
        aout      Linux a.out object files
        aoutb     NetBSD/FreeBSD a.out object files
        coff      COFF (i386) object files (e.g. DJGPP for DOS)
        elf32     ELF32 (i386) object files (e.g. Linux)
        elf64     ELF64 (x86_64) object files (e.g. Linux)
        as86      Linux as86 (bin86 version 0.3) object files
        obj       MS-DOS 16-bit/32-bit OMF object files
        win32     Microsoft Win32 (i386) object files
        win64     Microsoft Win64 (x86-64) object files
        rdf       Relocatable Dynamic Object File Format v2.0
        ieee      IEEE-695 (LADsoft variant) object file format
        macho32   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files
        macho64   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (x86_64) object files
        dbg       Trace of all info passed to output stage
        elf       ELF (short name for ELF32)
        macho     MACHO (short name for MACHO32)
        win       WIN (short name for WIN32)
    win32 — это и есть MS COFF, а coff — это, как и указано, DJGPP COFF.
  • 0CodErr wrote:
    mkostoevr wrote:M$ PE COFF, как я понял, не подходит.
    Не, у нас как раз именно MS COFF.
    Интересно... Я пришел к вышесказанному выводу после реверс-инжиниринга ARCHIVER.OBJ. Сигнатуры PE там нет, первым идет заголовок COFF (COFF FIle Header).
    Attachments
    scr.png
    scr.png (389.09 KiB)
    Viewed 8033 times
  • А, стоп, я неправильно спецификацию прочёл...
    Извиняюс, всё стало по своим местам. Я просто подумал что объектные файлы MS COFF тоже имеют PE заголовок.
  • Who is online

    Users browsing this forum: No registered users and 1 guest