2010-05-27 81 views

回答

2

否。目标文件基本上包含从符号名称到地址的映射(您可以使用诸如nm之类的命令显示),但绝对没有类型信息。

我简化了一些(有些符号被使用但未在对象文件中定义,其他符号在那里定义),但答案仍然是否定的。

作为一个例子,这里是nm a.out对我上次编译的任何随机文件的结果:) 这个例子非常小,gcc内置的数量超过了我自己定义的符号数量。但没有类型信息...

$ nm a.out 
0000200c D _NXArgc 
00002008 D _NXArgv 
00002000 D ___progname 
00001fbc t __dyld_func_lookup 
00001000 A __mh_execute_header 
00002004 D _environ 
     U _exit 
00001fca T _main 
     U _rand 
00002030 S _x 
00002010 d dyld__mach_header 
00001fa8 t dyld_stub_binding_helper 
00001f68 T start 
+0

这是不正确的,如果它编译调试符号。 libbfd可能会读取它,或者您可能能够获得一个库,用于您正在使用的任何调试格式。 – 2010-05-27 20:39:29

+1

@Tim但是功能的参数对你来说仍然是个谜。 – joveha 2010-05-28 13:04:10