LINENUM(4)

НАЗВАНИЕ
linenum - информация о номерах строк исходного текста в об ектном файле обычного формата

СИНТАКСИС


#include <linenum.h>

ОПИСАНИЕ
Если указана опция -g, то команда cc(1) создает в об ектном файле элементы с информацией о номере каждой строки исходного текста, на которую можно поставить точку прерывания. Эта информация используется при отладке [см. sdb(1)]. Структура элемента приведена ниже:


struct lineno {

  union {

    long l_symndx; /* Если l_lnno == 0, то номер элемента

                      табл. имен, описывающего функцию */

    long l_paddr;  /* Физический адрес команд, соответст-

                      вующих строке */

  }              l_addr;

  unsigned short l_lnno; /* Номер строки */

};

Нумерация строк начинается заново для каждой функции. У первого соответствующего функции элемента поле l_lnno равно 0, и в поле l_symndx содержится номер элемента таблицы имен, описывающего имя этой функции. У других элементов поле l_lnno не равно 0, и в l_paddr содержится адрес команд, соответствующих строке с номером l_lnno. Таким образом, общая структура имеет следующий вид:

l_addrl_lnno
номер элемента таблицы имен,
описывающего функцию
0
адресномер строки
адресномер строки
...
номер элемента таблицы имен,
описывающего функцию
0
адресномер строки
адресномер строки
...

СМ. ТАКЖЕ
a.out(4).
cc(1), sdb(1) в Справочнике пользователя.