|
НАЗВАНИЕ
scnhdr - заголовок секции об ектного файла обычного
формата
СИНТАКСИС
#include <scnhdr.h>
ОПИСАНИЕ
Любой об ектный файл обычного формата содержит таблицу
заголовков секций, которая определяет расположение данных в файле. Каждая секция в об ектном файле имеет свой
заголовок. Ниже приведена 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) в Справочнике пользователя.
|