nm用法小记
nm用于显示目标文件的符号,也是二进制工具集(info binutils)里的一员
先来看一个例子,源码和对应的命令结果


四部分分别表示的意义
- 符号所在的obj文件名
- 符号的值,这里应该是指符号所在段的偏移地址。
- 符号类型
- 符号名
其中,'3'的符号类型有以下几类,小写表示局部,大写表示全局
|
A |
符号的值不会在连接时发生改变,是固定的 |
|
b\B |
符号在未初始化数据段(BSS) |
|
C |
The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. |
|
D\d |
符号在初始化的数据段里(.data) |
|
G\g |
符号在初始化的数据段里(small objects),个别的允许小数据的目标文件 |
|
N |
符号是调试符号 |
|
p |
符号在stack unwind段里 |
|
R\r |
符号在只读数据段里 |
|
S\s |
符号在未初始化的数据段里(for small objects) |
|
T\t |
符号在代码(text)段(code) |
|
U |
符号未定义 |
|
u |
符号是一个唯一的全局符号 |
命令概述

选项解释
只介绍有用的
|
-a --debug-syms |
显示所有的符号。 |
|
-D --dynamic |
显示动态符号而不是通常的符号,通常用来显示动态库 |
|
-g --extern-only |
只显示外部的(external)符号 |
|
-l --line-numbers |
用调试信息尽量找出符号对应的文件名和行数(有时候会不准确) |
|
-n -V --numeric-sort |
用地址排序符号而不是用名字的字母排序 |
|
-r --reverse-sort |
反转排序序列 |
|
-S --print-size |
以bsd风格同时打印符号的地址和大小 |
|
-s --print-armap |
同时打印出索引(由ar或ranlib生成),可以知道符号是哪个模块的。(用于库文件) |
|
-t radix --radix=radix |
指定基地址数制, d 十进制 o 八进制 x 十六进制 |
|
-u --undefined-only |
只打印未定义的符号 |
|
--size-sort |
以符号的大小排序 |

本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/6395566.html
参考
【1】 man nm
nm用法小记的更多相关文章
- [转]HttpClient的超时用法小记
HttpClient的超时用法小记 HttpClient在使用中有两个超时时间,是一直接触和使用的,由于上次工作中使用httpClient造成了系统悲剧的情况,特地对它的两个超时时间进行了小小的测试, ...
- Matlab norm 用法小记
Matlab norm 用法小记 matlab norm (a) 用法以及实例 norm(A,p)当A是向量时norm(A,p) Returns sum(abs(A).^p)^(1/p), for ...
- linux expect, spawn用法小记
linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...
- [转载]expect spawn、linux expect 用法小记
原文地址:expect spawn.linux expect 用法小记作者:悟世 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写 ...
- Shell常见用法小记
shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...
- Linq用法小记
一.什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...
- ss命令用法小记
By francis_hao Nov 4,2017 ss是一个查看socket的实用工具 概要 ss [options] [ FILTER ] 描述 ss可以查看socket的统计信息, ...
- printf函数用法小记
By francis_hao Aug 26,2017 C语言中printf函数是一个比较常用的函数,但是常用并不代表完全了解,本文翻译了printf的man手册,介绍了其全部功能(不包括ma ...
- nc用法小记
By francis_hao Jun 30,2017 ncat:连接和重定向套接字 概要 ncat [OPTIONS...] [hostname] [port] 描述 ncat 是一个集 ...
随机推荐
- 移植Linux Kernel SM750 驱动到VxWorks 7
一.SM750简介 SM750 是SiliconMotion 推出的一款适合嵌入式设备的显卡(Embedded GPU),采用PCIe接口与CPU连接,内部集成16MB DDR SDRAM显存,产品具 ...
- python3 练习题100例 (二十九)猴子吃桃问题
题目内容: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第n天(<1<n< ...
- 华为机试 求int型数据在内存中存储时1的个数
题目描述 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 输入 5 输出 2 普通运算方 ...
- javaweb 项目部署到tomcat
1.准备环境 1.安装 mysql 2.安装java 环境 3.使用idea打war包 点击 apply 生成war包 将war包传到tomcat的webapp目录下,进入tomcat安装目录,进入b ...
- spring配置jackson不返回null值
#json不返回null spring.jackson.default-property-inclusion=non_null
- SAPの販売管理で、価格設定をするまでの関連カスタマイズ画面
この記事ではSAP SDで.価格を決めるまでに必要な設定画面について述べています. condition table (条件テーブル) 条件レコードのキー項目を定義したもの.3桁の数字で名前がついている ...
- 在WPF中自定义控件(3) CustomControl (下)
原文:在WPF中自定义控件(3) CustomControl (下) 在WPF中自定义控件(3) CustomControl (下) ...
- c# string.format和tostring()
字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...
- 【转】moodle中年级、班级、小组研讨
Moodle平台支持年级.班级.小组功能,提供了方便易用的分组工具.小组支持公开和封闭属性,配合教学功能模块,教师可以组织小组为单位的教学活动. 在Moodle中,年级.班级.小组主要是通过群组(co ...
- struts2官方 中文教程 系列七:消息资源文件
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...