SYMBOL TABLE:
0000000000000000 w *UND* 0000000000000000 __gmon_start__
我man objdump
但是没有这样的信息。
任何人都知道 5 列是什么意思?
答案 0 :(得分:53)
COLUMN ONE:符号的值
COLUMN TWO:一组字符和空格,表示在符号上设置的标志位。下面列出了七个分组:
第一组:(l,g ,,!)local,global,both,both。
第二组:(w,)弱或强的符号。
第三组:(C,)符号表示构造函数或普通符号。
第四组:(W,)符号是警告或正常符号。
第五组:(I,)间接引用另一个符号或普通符号。
第六组:(d,D,)调试符号,动态符号或普通符号。
第七组:(F,f,O,)符号是函数,文件,对象或普通符号的名称。
第三栏:符号所在的部分, ABS 表示与某个部分无关
COLUMN FOUR:符号的大小或对齐方式。
COLUMN FIVE:符号的名称。
如果您需要其他信息,请尝试使用手册页;-)或以下链接:http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html和http://sourceware.org/binutils/docs/binutils/objdump.html
答案 1 :(得分:5)
由于之前的答案似乎都不正确,这就是您实际需要的内容:
以下是link中可能有用的代码段:
“通常在基于ELF的文件中看到的其他常见输出格式如下所示:
00000000 l d .bss 00000000 .bss
00000000 g .text 00000000 fred
这里的第一个数字是符号的值(有时称为其地址)。下一个字段实际上是一组字符和空格,表示在符号上设置的标志位。这些字符如下所述。接下来是与符号关联的部分或 ABS 如果该部分是绝对的(即未与任何部分连接),或 UND 如果该部分在文件中被引用被倾倒,但没有在那里定义。
在节名称之后是另一个字段,一个数字,对于公共符号是对齐,而对于其他符号是大小。最后显示符号的名称。“
答案 2 :(得分:3)
objdump -t 打印文件的符号表条目 输出类似于 nm 程序提供的信息。
输出中有 7列 :
(某些条目的某些列可能为空)
objdump 在最左侧列中打印符号名称。
nm 在最右侧列中打印符号名称。
答案 3 :(得分:0)
http://www.cs.swarthmore.edu/~newhall/unixhelp/compilecycle.html#runtime
$ nm --format sysv simple # system V format is easier to read than bsd format which is the default Name Value Class Type Size Line Section ... foo |080484e6| T | FUNC|0000000c| |.text
答案 4 :(得分:0)
根据man pages of objdump from man7.org中选项 -t 的描述,格式说明如下:
通常在基于ELF的文件中看到的另一种常见输出格式如下:
00000000 l d .bss 00000000 .bss
00000000 g .text 00000000 fred
- 第一个数字是符号的值(有时称为符号地址)。
- 下一个字段实际上是一组字符和空格,指示在符号上设置的标志位。这些字符如下所述。
- 下一个是与符号关联的部分,如果该部分是绝对的(即未与任何部分连接),则为* ABS *;如果要转储的文件中引用了该部分但未定义该部分,则为* UND * 。
- 节名称到另一个字段之后,是一个数字,对于常见符号,它是对齐方式,对于其他符号,它是大小。最后,显示符号的名称。
您可以访问上面的网站以获取更多详细说明。