使用nm命令可以方便地进行调试和解决库依赖问题。 nm命令是Linux系统中的一个常用命令,用于显示目标文件或者可执行文件中的符号表。nm命令可以帮助我们查看可执行文件或者目标文件中的符号信息,包括函数、全局变量、局部变量等。 下面我们将从命令的基本用法、标志选项、示例等方面介绍nm命令的使用。 ## 一、基本用法 n...
NM命令 nm命令是linux中用来列出某些文件中的符号表的,是names的缩写,可以针对oc,c++ ,c语言 nm有很多参数,下面说几个常用的参数 -m 显示完整信息 -a,显示所有符号,包括那些专门用来调试的符号。 -g,只显示全局符号,不显示局部符号。 -n,按照数字而不是默认的字符排序。 -p,不排序,按照符号在符号表中出现的...
首先,对于静态库,我们可以使用命令 nm -g libname.a 执行后,如图所示,它会列出静态库中的全局变量和函数接口,让你清晰地看到库的内部结构。而对于动态库,其查看方式为 nm -g libname.so 同样会显示出动态库的编译内容,包括函数和符号,这对于定位和修复与库相关的bug时非常有用。因此,在链接...
通过使用nm命令,我们可以查看二进制文件中包含的所有符号和相关信息,比如符号的地址、类型和大小等。 2. 筛选特定类型的符号:nm命令支持使用选项来筛选特定类型的符号。比如,“nm -u 文件名”命令可以只列出未定义的符号,而“nm -g 文件名”命令可以只列出全局符号。这种筛选功能有助于开发人员定位和分析特定类型的...
nm[-A] [-C] [-X{32|64|32_64|d64|any}][-f] [-h] [-l] [-p] [-r] [-T] [-v] [-B|-P] [-e|-g|-u] [-d|-o|-x|-tFormat]File... 描述 nm命令显示有关指定File中符号的信息,文件可以是对象文件、可执行文件或对象文件库。 如果文件没有包含符号信息,nm命令报告该情况,但不...
linux nm命令使用方法 在动态库或静态库我们需要查看其调用函数接口时可以用nm命令 nm xxx.a>lib.txt 其中nm后的命令含义: A:符号的值是绝对值,不会被更改 B或b:未被初始化的全局数据,放在.bss段 D或d:已经初始化的全局数据 G或g:指被初始化的数据,特指small objects...
nm命令:打印nlist结构的符号表Symbol Table 常用命令参数 nm -pa a.o -a:显示符号表的所有内容 -g:显示全局符号 -p:不排序。显示符号表本来的顺序 -r:逆转顺序 -u:显示未定义符号 -U:不显示未定义符号 -m:显示N_SECT类型的符号(Mach-O符号)显示 ...
好了,上述就是常用的命令参数,光说不练假把式,下面将给出一个示例来进一步理解nm用法: 示例代码: #include<iostream>#include<string>usingnamespacestd;constchar*str="downey";intg_uninit;intg_val=10;voidfunc1(){int*val=newint;staticintval_static=1;cout<<"downey"<<endl;}voidfunc1(char*str){co...
o g++ -c -g main.cpp -o main.o 然后通过ar命令将两个目标文件打包成静态库libobjdump.a。 代码语言:javascript 复制 ar crv libnm.a main.o test.o (1)列出目标文件test.o与main.o的符号清单。 代码语言:javascript 复制 nm -C *.o main.o: U __cxa_atexit U __dso_handle U dUnInitialized ...