SCNHDR(4) SCNHDR(4)
НАЗВАНИЕ
scnhdr - заголовок секции объектного файла обычного
формата
СИНТАКСИС
#include
ОПИСАНИЕ
Любой объектный файл обычного формата содержит таблицу
заголовков секций, которая определяет расположение дан-
ных в файле. Каждая секция в объектном файле имеет свой
заголовок. Ниже приведена C-структура заголовка:
struct scnhdr {
char s_name[8]; /* Имя секции */
long s_paddr; /* Физический адрес */
long s_vaddr; /* Виртуальный адрес */
long s_size; /* Размер секции */
long s_scnptr; /* Указатель на бесструк-
турные данные в файле */
long s_relptr; /* Указатель в файле на
инф. о настр. ссылок */
long s_lnnoptr; /* Указатель в файле на
инф. о номерах строк */
unsigned short s_nreloc; /* Число ссылок, требующих
настройки */
unsigned short s_nlnno; /* Число элементов в таблице
номеров строк */
long s_flags; /* Флаги */
};
Указатели в файле представляют собой смещение в байтах
относительно начала файла; они могут быть использованы
как смещения при использовании макроса FSEEK [см.
ldfcn(4)]. Если секция инициализирована, то файл содер-
жит реальные данные. Неинициализированные секции нес-
колько отличаются. Они имеют размер, имена, определен-
ные в них, и ссылающиеся на них. Но они не содержат ин-
формации о настройке ссылок, номерах строк и данных.
Следовательно, у неинициализированной секции нет бесст-
руктурных данных в объектном файле, и значения полей
s_scnptr, s_relptr, s_lnnoptr, s_nreloc, и s_nlnno рав-
ны нулю.
СМ. ТАКЖЕ
fseek(3S), a.out(4).
ld(1) в Справочнике пользователя.
|