[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred方括号内的数字是符号表中条目的编号,sec编号是节号,fl值是符号的标志位,ty数是符号的类型,scl号是符号的存储类,nx值是与符号相关联的辅助条目数。最后两个字段是符号的值及其名称。
,我想知道是否有办法找出哪一个是本地的,哪个是全球的符号?
使用nm命令时,您可以从小写/大写标志中分辨出相同的方式。
编辑:我也知道这个
另一种常见的输出格式通常与基于ELF的文件一起使用,如下所示:
00000000 l d .bss 00000000 .bss
00000000 g .text 00000000 fred但是,当我在对象文件上使用objdump -t时,这不是im获取的输出格式。(我使用g++ -c编译,如果这很重要的话,我的操作系统是windows 10 )
谢谢
在评论中解决了 Dumpbin.exe 这个问题。这篇文章看上去很明白。。
发布于 2022-07-12 16:48:59
您谈论的是nm,因此您谈论的是ELF文件。继续阅读手册:
另一种常见的输出格式通常与基于ELF的文件一起使用,如下所示: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred 符号是局部(l)、全局(g)、唯一全局(u)、非全局或局部(空间)或全局和局部(!)。
在提出问题之前,我建议您练习命令调用,并将命令输出与正在阅读的手册部分中的示例进行比较。
https://stackoverflow.com/questions/72955625
复制相似问题