Полезная информация

Server for Information Technologies Сервер поддерживается
Центром Информационных Технологий
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Сервер содержит море(!) аналитической информации CIT Forum CD-ROM

FILEHDR(4)

НАЗВАНИЕ
filehdr - заголовок об ектного файла обычного формата

СИНТАКСИС

#include <filehdr.h>

ОПИСАНИЕ
Каждый об ектный файл обычного формата начинается с 20 байтного заголовка. Этот заголовок описывается следующей C-структурой:

struct filehdr {
  unsigned short f_magic;  /* Магическое число */
  unsigned short f_nscns;  /* Количество секций */
  long           f_timdat; /* Время и дата создания */
  long           f_symptr; /* Указатель в файле на
                              таблицу имен */
  long           f_nsyms;  /* Число элем. в табл. имен */
  unsigned short f_opthdr; /* Размер вспомогательного
                              заголовка */
  unsigned short f_flags;  /* Флаги */
};

Поле f_symptr содержит смещение в байтах таблицы имен от начала файла. Это значение может быть использовано как аргумент функции fseek(3S) для позиционирования на таблицу имен в потоке ввода/вывода. Вспомогательный заголовок системы UNIX состоит из 28 байт.

Значение f_timdat получается как результат вызова time(2). Биты поля f_flags, в настоящее время, определены следующим образом:

#define F_RELFLG 0000001 /* Информация о настройке ссылок
                            удалена из файла */
#define F_EXEC   0000002 /* Файл выполняемый */
#define F_LNNO   0000004 /* Информация о номерах строк
                            удалена из файла */
#define F_LSYMS  0000010 /* Информация о локальных именах
                            удалена из файла */
#define F_MINMAL 0000020 /* Минимальный об ектный файл */
#define F_UPDATE 0000040 /* Полностью обновленный файл */
#define F_SWABD  0000100 /* Байты в полусловах переставлены
                            */

#define F_AR16WR 0000200 /* Слово  двухбайтное, порядок
                            байт в слове  соответствует
                            PDP 11/70 */
#define F_AR32WR 0000400 /* Слово четырехбайтное, порядок
                            байт как у машин серии VAX */
#define F_AR32W  0001000 /* Слово четырехбайтное, порядок
                            байт как у машин  серии 3b */
#define F_PATCH  0002000 /* Во вспомогательном заголовке
                            содержится список "заплаток" */

СМ. ТАКЖЕ
time(2), fseek(3S), a.out(4).
Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT