【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
nm - Lists symbols from object files
1. nm 的作用
列出目标文件中的符号(这个目标文件不单指.o文件, 也指可执行文件)
2. nm 的使用
$nm file
或
$nm file.o
结果如下:
$ nm file
0000000000000000 T func
0000000000000019 T main
3. nm 输出结果的分析
输出结果由三部分组成: {地址 段 标识符}
4. nm的段注释
| 段 | 解释 |
|---|---|
| A | 地址值在链接过程中不会发生改变 |
| B/b | 标识符位于未初始化数据段(.bss) |
| C | 未定义存储段的标识符, 链接时决定段位置 |
| D/d | 标识符位于数据段(.data) |
| N | 调试专用的标识符 |
| R/r | 标识符位于只读存储段(.rodata) |
| T/t | 标识符位于代码段(.text) |
| U | 未定义的标识符 |
本文详细介绍了nm命令的使用方法,该命令用于列出目标文件中的各种符号,包括.o文件和可执行文件。文章解释了如何通过nm命令查看地址段标识符,并提供了输出结果的分析,包括符号在不同段的位置,如代码段(.text)、数据段(.data)等。
1744

被折叠的 条评论
为什么被折叠?



