Флаги
Последние два байта заголовка файла содержат флаги, характеризующие тип объектного файла. Флаги определены во включаемом файле <filehdr.h>; используемые флаги приведены в следующей таблице:
Обозначение | Значение | Смысл |
F_RELFLG | 00001 | Из файла удалена информация о настройке ссылок |
F_EXEC | 00002 | Файл является выполняемым (в нем нет неразрешенных внешних ссылок) |
F_LNNO | 00004 | Из файла удалена информация о номерах строк |
F_LSYMS | 00010 | Из файла удалена информация о локальных именах |
F_AR32W | 0001000 | 32-битное слово |
Два младших байта поля флагов определяют тип секции. Флаги описаны в следующей таблице:
Обозначение | Значение | Смысл |
STYP_REG | 0x00 | Обычная секция (размещаемая, настраиваемая, загружаемая) |
STYP_DSECT | 0x01 | Фиктивная секция (неразмещаемая, настраиваемая, незагружаемая) |
STYP_NOLOAD | 0x02 | Незагружаемая секция (размещаемая, настраиваемая, незагружаемая) |
STYP_GROUP | 0x04 | Групповая секция (формируется из входных секций) |
STYP_PAD | 0x08 | Секция-заполнитель (неразмещаемая, ненастраиваемая, загружаемая) |
STYP_COPY | 0x10 | Секция типа COPY (рабочий признак для редактора связей; неразмещаемая, ненастраиваемая, загружаемая; таблицы настройки ссылок и номеров строк обрабатываются обычным образом) |
STYP_TEXT | 0x20 | Секция содержит выполняемые команды |
STYP_DATA | 0x40 | Секция содержит инициализированные данные |
STYP_BSS | 0x80 | Секция содержит только неинициализированные данные |
STYP_INFO | 0x200 | Секция комментариев (неразмещаемая, ненастраиваемая, незагружаемая) |
STYP_OVER | 0x400 | Оверлейная секция (неразмещаемая, настраиваемая, незагружаемая) |
STYP_LIB | 0x800 | Библиотечная секция .lib (обрабатывается так же, как секция комментариев) |