linuxnm命令w linux的nm命令详解

Linux里面nm是什么意思?这是一个非常罕见的命令,搞Linux开发的人, 才可能会用到nm命令,其他老男孩Linux运维等几乎用不到 。
nm命令是names的缩写 , nm命令主要是用来列出某些文件中的符号(说白了就是一些函数和全局变量等) , 具体查看,可以百度 搜 linux nm 。
linux nm 命令?/usr/ccs/bin/nm
用途
显示关于对象文件、可执行文件以及对象文件库里linuxnm命令w的符号信息 。
语法
nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -t Format ] File ...
描述
nm 命令显示关于指定 File 中符号linuxnm命令w的信息linuxnm命令w , 文件可以是对象文件、可执行文件或对象文件库 。如果文件没有包含符号信息linuxnm命令w,nm 命令报告该情况 , 但不把它解释为出错条件 。nm 命令缺省情况下报告十进制符号表示法下的数字值 。
【linuxnm命令w linux的nm命令详解】nm 命令把以下符号信息写入标准输出:
库或对象名
如果您指定了 -A 选项,则 nm 命令只报告与该文件有关的或者库或者对象名 。
符号名称
符号类型
nm 命令使用以下符号(用同样的字符表示弱符号作为全局符号)之一来表示文件符号类型:
AGlobal absolute 符号 。
aLocal absolute 符号 。
BGlobal bss 符号 。
bLocal bss 符号 。
DGlobal data 符号 。
dLocal data 符号 。
f源文件名称符号 。
TGlobal text 符号 。
tLocal text 符号 。
U未定义符号 。

大小
如果可应用,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倒序排序 。
-T把可能会溢出它的列的每个名字截短,使显示的名字的最后一个字符是星号(*) 。缺省情况下,nm 显示列出的符号的全名 , 并且一个比为其设置的列的宽度长的名称会引起名称后的每个列无法对齐 。
-t Format显示指定格式下的数字值,其中 Format 参数是以下符号表示法之一:
d
十进制符号表示法 。这是 nm 命令的缺省格式 。
o
八进制符号表示法 。
x
十六进制符号表示法 。
-u只显示未定义符号 。
-v按值而不是按字母表顺序排序输出 。
-x用十六进制而不是十进制数来显示符号的值和大小 。
-X mode指定 nm 应该检查的对象文件的类型 。mode 必须是下列之一:
32
只处理 32 位对象文件
64
只处理 64 位对象文件
32_64
处理 32 位和 64 位对象文件
缺省是处理 32 位对象文件(忽略 64 位对象) 。mode 也可以 OBJECT_MODE 环境变量来设置 。例如,OBJECT_MODE=64 使 nm 处理任何 64 位对象并且忽略 32 位对象 。-X 标志覆盖 OBJECT_MODE 变量 。
注:
nm 命令支持 -- (双连字符)标志 。如果文件名会被曲解为一个选项,该标志区别于 File 操作数 。例如,要指定文件名以连字符开始,请使用 -- 标志 。
退出状态
该命令返回下列出口值:
0成功完成 。
0发生错误 。
示例
列出 a.out 对象文件的静态和外部符号,请输入:
nm -e a.out
以十六进制显示符号大小和值并且按值排序符号,请输入:
nm -xv a.out
显示 libc.a 中所有 64 位对象符号,忽略所有 32 位对象:
nm -X64 /usr/lib/libc.a
文件
“nm”是什么意思?。?/h2>5nm是5纳米的意思 。
“nm”是一个单位,中文意思是“纳米” 。1nm等于.1cm,而5nm的宽度是可以想象的 , 小到我们肉眼可能根本分辨不出来 。
1.5纳米相当于头发的万分之一 。一根头发大约有6万纳米,所以5纳米几乎是头发的万分之一 。以高通7nm骁龙8cx芯片面积为例,直径3mm的晶圆上有532个核心 , 水平方向最多22个核心,垂直方向最多36个核心 。经计算,每个芯片的面积约为112平方毫米(13.5×8.3毫米) 。
linuxnm命令w的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux的nm命令详解、linuxnm命令w的信息别忘了在本站进行查找喔 。

    推荐阅读