nm在linux中列出目标文件的符号清单,常用来查看动态链接库中的函数
nm支持的选项如下
-a 按照man手册,仅列出调试信息,实际上却是调试信息+正常信息
-A 增加一列显示目标文件,没有实际意义
-C 将低级符号信息编码成便于查看的用户信息,最终效果是符号清单呈现出class::memberfunction形式的信息,最常用的选项
-D 显示动态符号,以目标文件为so为例,显示了so中增加的符号信息以及so引用的so的符号信息
-f 指定不同的输出格式,改变命令输出格式
-g 仅显示外部符号,实测和-D选项输出几乎一样
-l 显示符号的行号,附加一列显示符号在xx文件的xx行定义 较常用
-n 将符号按照地址进行排序
-p 不排序符号,使用该选项后的输出没有按照地址也没有按照符号名称排序
-r 逆序输出符号
-u 仅显示未定义符号,实测列出了GLIBC中的memset、memcpy等,不清楚具体作用
-h 显示帮助
-V 版本信息