SCNHDR(4)
НАЗВАНИЕ
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) в Справочнике пользователя.