使用nm查看.a文件时函数列表前方的前缀T、U等含义

在使用 nm 命令查看 .o 对象文件时,输出中的函数名或其他符号前缀有特定的含义:

  • T:表示该符号是一个文本(Text)符号,通常用于代码段(code section)。这意味着它是一个程序的代码入口点,比如一个函数的开始地址。

  • D:表示该符号是一个数据(Data)符号,通常用于初始化数据段(initialized data section)。这通常指的是全局变量或静态变量。

  • B:表示该符号是一个未初始化的全局或静态变量,位于未初始化数据段(BSS section)。

  • R:表示该符号是一个只读数据符号,通常用于只读数据段(read-only data section)。

  • C:表示该符号是一个常量(Constant),通常用于常量数据段。

  • U:表示该符号是未定义(Undefined)的,也就是说它在当前的 .o 文件中声明了,但是没有定义。这通常意味着它可能在其他 .o 文件或库中定义。

  • W:表示该符号是一个弱引用(Weak),它允许在其他编译单元中有相同名称的符号覆盖这个符号。

  • A:表示该符号是一个绝对地址的符号。

  • I:表示该符号是一个调试信息(Debugging)符号。

  • N:表示该符号是一个非标准(Non-standard)符号。

在使用 nm 命令时,你可以通过添加不同的选项来改变输出格式或过滤输出结果。例如,nm -D 可以以十六进制的形式显示地址,nm -S 可以按大小排序输出。

相关推荐
绯樱殇雪1 天前
函数题 6-8 简单阶乘计算【PAT】
c·pat考试
伏城之外2 天前
LeetCode - 17 电话号码的字母组合
java·javascript·c++·python·leetcode·c
智能知鸟664 天前
电脑提示丢失mfc140u.dll的详细解决方案,mfc140u.dll文件是什么
dll文件·dll·电脑程序故障·dll丢失
szcsd1234567894 天前
mfc140u.dll丢失有啥方法能够进行修复?分享几种mfc140u.dll丢失的解决办法
dll文件·dll·dll修复·dll丢失·dll电脑修复
TT-Kun5 天前
算法 | 基础排序算法:插入排序、选择排序、交换排序、归并排序
算法·排序算法·c
电脑修复X6 天前
电脑丢失msvcp120.dll问题原因及详细介绍msvcp120.dll丢失的解决方法
dll文件·dll·电脑程序故障·dll修复·dll丢失
Cyan_RA96 天前
C 408—《数据结构》算法题基础篇—链表(上)
java·数据结构·算法·链表·c·408·计算机考研
Artintel8 天前
[学习笔记]《CSAPP》深入理解计算机系统 - Chapter 6 存储器层次结构
笔记·学习·c·csapp
一丝晨光8 天前
安全API
java·开发语言·c++·安全·编程·c·编程语言
伏城之外10 天前
LeetCode - 15 三数之和
java·javascript·c++·python·leetcode·c