| Сервер поддерживается Центром Информационных Технологий (095) 932-9212, 932-9213, 939-0783 E-mail: info@citforum.ru

Сервер содержит море(!) аналитической информации | CIT Forum CD-ROM

### NM(1)

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

СИНТАКСИС

    	nm  [-o] [-x] [-h] [-v] [-n] [-e] [-f] [-u] [-r] [-p] [-V] [-T] файл ...

ОПИСАНИЕ
Команда nm выдает на стандартный вывод таблицу имен для каждого об ектного файла, указанного в командной строке. Файл может быть как перемещаемым, так и абсолютным об ектным файлом, или может быть архивом из таких файлов. Для каждого элемента таблицы выдается следующая информация:

Name | Имя элемента таблицы.
Value | Значение, выражаемое как смещение или адрес, в зависимости от класса хранения.
Class | Класс хранения.
Type | Информация о типе. Если элемент описывает экземпляр структуры или об единения, то за типом будет выведено имя структуры или об единения (например, struct-имя). Если элемент соответствует массиву, то размер массива будет указан за типом (например, char[n][m]). Заметим, что для наличия этой информации файл должен быть откомпилирован командой cc(1) с опцией -g.
Size | Размер в байтах, если он определен. Заметим, что для наличия этой информации файл должен быть откомпилирован командой cc(1) с опцией -g.
Line | Номер строки в файле с исходным текстом, в которой об ект определяется, если эта информация имеет смысл. Заметим, что для наличия этой информации файл должен быть откомпилирован командой cc(1) с опцией -g.
Section | Для об ектов с классом хранения статический (static) и внешний (extern) указывается секция, которой принадлежит об ект: секция команд (.text), секция инициализированных данных (.data) или секция неинициализированных данных (.bss).

Следующие опции определяют содержание и формат информации, выдаваемой командой nm:

-o | Выводить значение и размер в восьмеричном виде, а не в десятичном.
-x | Выводить значение и размер в шестнадцатеричном виде, а не в десятичном.
-h | Не выводить заголовок.
-v | Отсортировать внешние об екты по значению.
-n | Отсортировать внешние об екты по алфавиту.
-e | Выдавать только статические и внешние об екты.
-f | Выдавать всю информацию. Выводятся обычно подавляемые избыточные элементы таблицы имен (.text, .data, .lib, .bss).
-u | Выводить только неопределенные об екты.
-r | Добавлять в начале каждой выводимой строки имя об ектного файла или архива.
-p | Выводить в легко обозримом, кратком формате. Перед именем каждого об екта стоит его значение (пробелы, если не определено) и одна из следующих букв: U (неопределенный), A (абсолютный), T (входит в секцию команд), D (входит в секцию данных), S (входит в секцию, определенную пользователем), R (располагается в регистре), F (файл) или C (входит в общий блок). Информация о локальных (не внешних) об ектах выдается малыми буквами.
-V | Вывести в стандартный протокол информацию о версии команды nm.
-T | По умолчанию команда nm выводит полные имена об ектов. Но так как об ектные файлы могут содержать имена произвольной длины, то возможен сдвиг последующих колонок. Опция -T вызывает усечение длинных имен. При этом факт усечения отмечается звездочкой в последней позиции, отведенной под имя.

Опции можно использовать в произвольном порядке, вместе или по отдельности, и в произвольном месте командной строки. Так, команды

    	nm  f1 -e -v
          и
    	nm  -ve f1

работают одинаково: выдают статические и внешние об екты файла с сортировкой внешних об ектов по значению.

ФАЙЛЫ

    	TMPDIR/*        Временные файлы.

Обычно каталог TMPDIR - это /usr/tmp, однако данное соглашение можно изменить, присвоив переменной окружения TMPDIR другое значение [см. tempnam( ) в tmpnam(3S)].

СМ. ТАКЖЕ
as(1), cc(1), ld(1).
tmpnam(3S), a.out(4), ar(4) в Справочнике программиста.

ДИАГНОСТИКА

    	nm: файл: cannot open
    	    Файл не удается открыть.
    	nm: файл: bad magic
     	    Файл не является об ектным файлом обычного  формата.
    	nm: файл: no symbols
    	    Файл не содержит таблицы имен.

СЮРПРИЗЫ
В ситуации, когда выводятся все об екты, для сохранения локализации информации нужно, чтобы об екты выводились в том порядке, в каком они хранятся в таблице имен. Следовательно, опции -v и -n следует использовать только вместе с опцией -e.

Comments: info@citmgu.ru Designed by Andrey Novikov Copyright © CIT