linux命令nm什么意思
-
Linux命令nm意思是”nom”,是“name list”(名称列表)的缩写。nm命令用于检查可执行文件或目标文件中的符号表。它显示了这些文件中定义的函数、变量以及其他符号的名称和其对应的地址。nm命令对于编译、调试和分析程序非常有用。
nm命令有多种用法和选项,常用的用法有以下几种:
1. 显示所有符号:nm命令可以直接用于可执行文件或目标文件,它会默认显示所有符号的名称和地址。例如,使用命令 “nm a.out”,可以显示可执行文件a.out中的所有符号。
2. 只显示函数符号:使用选项”-g”,可以只显示函数符号。例如,使用命令 “nm -g a.out”,只会显示可执行文件a.out中的函数符号。
3. 只显示外部符号:使用选项”-u”,可以只显示外部符号。外部符号是在该文件内被引用但未在该文件内定义的符号。例如,使用命令 “nm -u a.out”,只会显示可执行文件a.out中的外部符号。
4. 显示所有符号的地址:使用选项”-a”,可以显示所有符号的名称、地址以及符号的类型。例如,使用命令 “nm -a a.out”,可以显示可执行文件a.out中所有符号的名称、地址和类型。
除了上述常用的选项之外,nm命令还有很多其他选项,用于提供更详细的符号信息或进行特定的符号查询。使用”man nm”命令可以查看nm命令的完整用法和选项说明。
总的来说,nm命令是一个非常有用的工具,可以帮助开发人员在Linux下进行程序调试和分析,特别是在需要查看符号表信息的情况下。
2年前 -
Linux命令`nm`是一个用于显示二进制目标文件中符号表的命令。它是GNU Binutils软件包中的一部分,可以用于查看和分析可执行文件、共享库和目标文件中的符号信息。
下面是`nm`命令的一些常用用法和功能:
1. 显示符号表:`nm`命令可以用来显示目标文件中的符号表。符号表包含了在代码中定义和引用的全局和局部符号的列表。通过查看符号表,可以了解代码的结构和组织,并对代码进行调试和分析。
2. 显示符号的类型和属性:`nm`命令可以显示每个符号的类型和属性。它会为每个符号提供一个标识符(如函数、变量或符号的地址),并指示其类型(如外部、内部、全局、局部等)。
3. 查找特定符号:`nm`命令还可以用于查找特定的符号。通过提供符号的名称作为命令的参数,`nm`可以搜索并显示与该名称匹配的符号的信息。
4. 查看动态符号:`nm`命令可以显示动态符号表,这是可执行文件和共享库中包含的符号表。动态符号表包含为了链接和加载程序运行时所需的动态符号信息。
5. 查看调试信息:`nm`命令可以显示可执行文件和共享库中的调试信息。这些信息包括符号名称、调试地址和源代码行号等。通过查看调试信息,开发人员可以在调试和分析代码时获得更多的信息。
总之,`nm`命令是一个功能强大的工具,可以用于查看和分析二进制目标文件中的符号信息,从而帮助开发人员理解代码的结构和组织,以及进行代码调试和分析工作。
2年前 -
nm是Unix和Linux系统中的一个命令,用于查看二进制可执行文件、共享库和目标文件中的符号表。
符号表包含了程序中使用的函数、全局变量和外部符号的信息,nm命令能够列出这些符号的名称、类型和值。
nm命令的语法如下:
“`
nm [选项] <文件>
“`下面是nm命令常用的选项:
– `-A`:以十六进制显示符号的值
– `-a`:以十六进制显示符号的值,并按地址的顺序进行排序
– `-C`:将C++的符号名还原为可读字符串
– `-D`:只显示数据符号,而不显示代码符号(函数)
– `-g`:只显示外部符号
– `-p`:显示符号所属的部分名称
– `-r`:与-g选项相同,但是符号按照逆序显示
– `-S`:显示符号的大小
– `-v`:显示版本信息nm命令在开发和调试过程中非常有用。通过查看二进制文件的符号表,我们可以了解程序的结构和依赖关系,从而更好地进行分析和调试。
2年前