nm 命令 nm 命令怎么用

nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。下面跟着小编一起来了解一下nm 命令怎么用吧。

nm 命令用法详解

用途

显示有关对象文件、可执行文件以及对象文件库里的符号信息。

语法

nm [ -A ] [ -C ] [ -X {32|64|32_64|d64| any}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P] [ -e | -g | -u ] [ -d | -o | -x | -tFormat ] File ...

描述

nm 命令显示有关指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。 如果文件没有包含符号信息,nm 命令报告该情况,但不将它解释为出错条件。nm 命令缺省情况下报告十进制符号表示法下的数字值。

nm 命令将以下符号信息写到标准输出:

库或对象名

如果您指定了 -A 选项,那么 nm 命令 只报告与该文件有关的或者库或者对象名。

符号名称

符号类型

nm 命令使用以下符号(用同样的字符表示弱符号作为全局符号)之一来表示文件符号类型:

项目

描述

A

Global absolute 符号。

a

Local absolute 符号。

B

Global bss 符号。

b

Local bss 符号。

D

Global data 符号。

d

Local data 符号。

f

Source file name 符号。

L

Global thread-local 符号 (TLS)。

l

Static thread-local 符号 (TLS)。

T

Global text 符号。

t

Local text 符号。

U

Undefined 符号。

大小

如果可应用,nm 命令报告与符号有关的大小。

标志

项目

描述

-A

每行或者显示完整路径名或者显示对象库名。

-B

在 Berkeley 软件分发 (BSD) 格式中显示输出:

值 类型 名称

-C

限制解码 (demangle) C++ 名称。缺省是解码所有 C++ 符号名。

注:C++ 对象文件中的符号在被使用前它们的名称已经被解码了。

-d

用十进制显示符号的值和大小。这是缺省值。

-e

只显示静态的和外部的(全局)符号。

-f

显示完整的输出,包括冗余的 .text、.data 以及 .bss 符号,这些在通常都是被限制的。

-g

只显示外部的(全局)符号。

-h

限制输出头数据的显示。

-l

通过给 WEAK 符号的编码键附加一个 * 来区分 WEAK 和 GLOBAL 符号。 如果和-P选项一起使用,WEAK 符号的符号类型显示如下:

V

Weak Data 符号

nm 命令 nm 命令怎么用

W

Weak Text 符号

w

Weak 未定义符号

Z

Weak bss 符号

-o

用八进制而不是十进制数来显示符号的值和大小。

-P

以标准可移植输出格式显示信息:

库/对象名 名称 类型 值 大小

该格式以十六进制符号表示法显示数字值,除非您用-t、-d或-o标志指定不同的格式。

如果您指定了-A标志-P标志只显示库/对象名字段。同样,-P标志只显示大小适用的符号大小字段。

-p

不排序。输出按符号表顺序显示。

-r

倒序排序。

-tFormat

显示指定格式下的数字值,其中Format参数是以下符号表示法之一:

d

十进制符号表示法。这是nm命令的缺省格式。

o

八进制符号表示法。

x

十六进制符号表示法。

-T

将可能会溢出它的列的每个名称截短,使显示的名称的最后一个字符是星号。 缺省情况下,nm显示列出的符号的全名,并且一个比为其设置的列的宽度长的名称会引起名称后的每个列无法对齐。

-u

只显示未定义符号。

-v

按值而不是按字母表顺序排序输出。

-x

用十六进制而不是十进制数来显示符号的值和大小。

-Xmode

指定nm应该检查的对象文件的类型。mode必须是下列之一:

32

只处理 32 位对象文件

64

只处理 64 位对象文件

32_64

处理 32 位和 64 位对象文件

d64

检验中止 64 位 XCOFF 文件(magic number == U803XTOCMAGIC)。

any

处理所有支持的对象文件。

缺省值为处理 32 位对象文件(忽略 64 位对象)。mode也可用OBJECT_MODE环境变量来设置。例如,OBJECT_MODE=64使nm处理任何 64 位对象并且忽略 32 位对象。-X标志覆盖了OBJECT_MODE变量。

注: nm 命令支持 —(双连字符)标志。如果文件名会被曲解为一个选项,该标志区别于 File 操作数。 例如,要指定文件名以连字符开始,请使用 — 标志。

退出状态

此命令返回以下退出值:

项目

描述

成功完成。

>0

发生错误。

示例

要列出 a.out 对象文件的静态和外部符号,请输入:

nm -e a.out

要以十六进制显示符号大小和值并且按值排序符号,请输入:

nm -xv a.out

要显示 libc.a 中所有 64 位对象符号,忽略所有 32 位对象:

nm -X64 /usr/lib/libc.a

用途

显示有关对象文件、可执行文件以及对象文件库里的符号信息。

语法

nm [ -A ] [ -C ] [ -X {32|64|32_64|d64| any}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P] [ -e | -g | -u ] [ -d | -o | -x | -tFormat ] File ...

描述

nm 命令显示有关指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。 如果文件没有包含符号信息,nm 命令报告该情况,但不将它解释为出错条件。nm 命令缺省情况下报告十进制符号表示法下的数字值。

nm 命令将以下符号信息写到标准输出:

库或对象名

如果您指定了 -A 选项,那么 nm 命令 只报告与该文件有关的或者库或者对象名。

符号名称

符号类型

nm 命令使用以下符号(用同样的字符表示弱符号作为全局符号)之一来表示文件符号类型:

项目

描述

A

Global absolute 符号。

a

Local absolute 符号。

B

Global bss 符号。

b

Local bss 符号。

D

Global data 符号。

d

Local data 符号。

f

Source file name 符号。

L

Global thread-local 符号 (TLS)。

l

Static thread-local 符号 (TLS)。

T

Global text 符号。

t

Local text 符号。

U

Undefined 符号。

大小

如果可应用,nm 命令报告与符号有关的大小。

标志

项目

描述

-A

每行或者显示完整路径名或者显示对象库名。

-B

在 Berkeley 软件分发 (BSD) 格式中显示输出:

值 类型 名称

-C

限制解码 (demangle) C++ 名称。缺省是解码所有 C++ 符号名。

注:C++ 对象文件中的符号在被使用前它们的名称已经被解码了。

-d

用十进制显示符号的值和大小。这是缺省值。

-e

只显示静态的和外部的(全局)符号。

-f

显示完整的输出,包括冗余的 .text、.data 以及 .bss 符号,这些在通常都是被限制的。

-g

只显示外部的(全局)符号。

-h

限制输出头数据的显示。

-l

通过给 WEAK 符号的编码键附加一个 * 来区分 WEAK 和 GLOBAL 符号。 如果和-P选项一起使用,WEAK 符号的符号类型显示如下:

V

Weak Data 符号

W

Weak Text 符号

w

Weak 未定义符号

Z

Weak bss 符号

-o

用八进制而不是十进制数来显示符号的值和大小。

-P

以标准可移植输出格式显示信息:

库/对象名 名称 类型 值 大小

该格式以十六进制符号表示法显示数字值,除非您用-t、-d或-o标志指定不同的格式。

如果您指定了-A标志-P标志只显示库/对象名字段。同样,-P标志只显示大小适用的符号大小字段。

-p

不排序。输出按符号表顺序显示。

-r

倒序排序。

-tFormat

显示指定格式下的数字值,其中Format参数是以下符号表示法之一:

d

十进制符号表示法。这是nm命令的缺省格式。

o

八进制符号表示法。

x

十六进制符号表示法。

-T

将可能会溢出它的列的每个名称截短,使显示的名称的最后一个字符是星号。 缺省情况下,nm显示列出的符号的全名,并且一个比为其设置的列的宽度长的名称会引起名称后的每个列无法对齐。

-u

只显示未定义符号。

-v

按值而不是按字母表顺序排序输出。

-x

用十六进制而不是十进制数来显示符号的值和大小。

-Xmode

指定nm应该检查的对象文件的类型。mode必须是下列之一:

32

只处理 32 位对象文件

64

只处理 64 位对象文件

32_64

处理 32 位和 64 位对象文件

d64

检验中止 64 位 XCOFF 文件(magic number == U803XTOCMAGIC)。

any

处理所有支持的对象文件。

缺省值为处理 32 位对象文件(忽略 64 位对象)。mode也可用OBJECT_MODE环境变量来设置。例如,OBJECT_MODE=64使nm处理任何 64 位对象并且忽略 32 位对象。-X标志覆盖了OBJECT_MODE变量。

注: nm 命令支持 —(双连字符)标志。如果文件名会被曲解为一个选项,该标志区别于 File 操作数。 例如,要指定文件名以连字符开始,请使用 — 标志。

退出状态

此命令返回以下退出值:

项目

描述

成功完成。

>0

发生错误。

示例

要列出 a.out 对象文件的静态和外部符号,请输入:

nm -e a.out

要以十六进制显示符号大小和值并且按值排序符号,请输入:

nm -xv a.out

要显示 libc.a 中所有 64 位对象符号,忽略所有 32 位对象:

nm -X64 /usr/lib/libc.a

  

爱华网本文地址 » http://www.aihuau.com/a/225261/617008919.html

更多阅读

设置开机启动项的命令 怎么用msconfig命令设置开机启动项

怎么用msconfig命令设置开机启动项――简介电脑开机启动慢是一件很让人纠心的事,现在小编来介绍一下怎么通过用msconfig命令来设置开机启动程序,以提升开机的速度;怎么用msconfig命令设置开机启动项――工具/原料电脑一台怎么用mscon

bcdedit命令怎么用 BCDEdit命令怎么用 精

BCDEdit命令怎么用 精――简介BCDEdit(启动配置数据存储编辑器)命令用于修改Win7/Win8启动菜单,相对于WinXP等之前的系统是通过修改Boot.ini文件来实现对系统启动菜单的修改,功能更强大BCDEdit命令可实现对系统启动菜单的更强大的支持。

chgrp命令 chgrp命令怎么用

chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。那么chgrp命令怎么用呢?小编分享了使用chgrp命令的方法,希望对大家有所帮助。chgrp命令用法在lunix系统里,文件或目录的权限的掌控以拥有者及所诉

dos复制文件夹命令 怎么用dos命令来复制文件和文件夹

电脑现在越来越普及,界面也越来越友善,操作也越来越简洁,但是对于高手来说,好多时候还是喜欢使用DOS来做一些操作,下面就让小编教大家怎么用dos命令来复制文件和文件夹吧。用dos命令来复制文件和文件夹的方法进入DOS系统,有两种方法:方法

查看系统硬件命令 怎么用自带命令查看win7的系统硬件配置

电脑一个好坏程度可以说决定于系统硬件如何,那么应该怎么查看系统硬件配置呢?其实,用几行命令即可OK,无需其他软件!下面就让小编给大家说说怎么用自带命令查看win7的系统硬件配置吧。用自带命令查看win7系统配置的方法点击“开始徽标

声明:《nm 命令 nm 命令怎么用》为网友满目逢秋分享!如侵犯到您的合法权益请联系我们删除