1.6. Поддерживаемые форматы
объектов
Yasm поддерживает следующие форматы объектов.
Больше подробностей можно найти в Части Часть V.
- bin
- Формат «bin»
объекта производит плоско-форматной,
неперемещаемой бинарный файл. Он является
подходящим для создания DOS'овских исполняемых .COM
программ или таких вещей как блоки начальной
загрузки. Поддерживаются только три секции и они
записываются в предопределенном порядке в
выходной файл.
- coff
- Формат COFF объекта это старый перемещаемый
объектный формат применяемый на старых UNIX и
совместимых системах, а также (позже) на
разработочной системе DJGPP для DOS.
- dbg
- Формат «dbg»
объекта не является «реальным» форматом объекта;
выходной файл, который он создает просто,
описывает последовательность сделанных к нему
вызовов с помощю Yasm, окончательный объект и
таблицу идентификаторов в удобочитаемом
текстовом формате (который в нормальном формате
объекта обрабатывается в специфическое двойное
представление того объектного формата). Этот
формат объекта не предназначен для реального
использования, а скорее для того, чтобы отладить
внутреннюю организацию Yasm.
- elf
- Формат ELF объекта существует в двух типах:
«elf32» (для 32-битовых
целей) и «elf64» (для
64-битовых целей). ELF - стандартный формат объекта
в общем используемый на современных Unix и
совместимых системах (например Linux, FreeBSD). ELF имеет
сложную поддержку переместимых и общедоступных
объектов.
- macho
- Формат Mach-O объекта существует в двух типах:
«macho32» (для
32-битовых целей) и «macho64» (для 64-битовых целей). Mach-O
используется как формат объекта на MacOS X.
Поскольку Yasm в настоящее время поддерживает
только наборы команд x86 и AMD64, он может только
произвести Mach-O объекты для основанных на Интеле
Mac'ов.
- rdf
- Формат RDOFF2 объекта это простой
мультисекционный формат, первоначально
разработанный для NASM. Он поддерживает
сегментные ссылки, но не ссылки WRT. Прежде всего
был разработан для простоты и имеет
минималистические заголовки для простоты
загрузки и компоновки. Полный набор
инструментов (компоновщик, библиотекарь, и
загрузчик) распространяется с NASM.
- win32
- Формат Win32 объекта производит объектные файлы
совместимые с компиляторами Microsoft (таких, как Visual
C\++), предназначенные на 32-битовую x86 платформу
Windows. Сам формат объекта это расширенная версия
COFF.
- win64
- Формат Win64 объекта производит объектные файлы
совместимые с компиляторами Microsoft,
предназначенные на 64-битовую «x64» платформу Windows. Этот формат очень
похож на формат Win32 объекта, но производит
64-битовые объекты.
- xdf
- Формат XDF объекта - по существу упрощенная
версия COFF. Это также мультисекционный
распределенный формат, который поддерживает
64-битовые физические и виртуальные адресации.