0
是否有可能采用目标文件(如Macintosh Macintosh dylib或Linux .so文件),并自动生成C.h文件?从目标文件生成头文件
是否有可能采用目标文件(如Macintosh Macintosh dylib或Linux .so文件),并自动生成C.h文件?从目标文件生成头文件
否。目标文件基本上包含从符号名称到地址的映射(您可以使用诸如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
这是不正确的,如果它编译调试符号。 libbfd可能会读取它,或者您可能能够获得一个库,用于您正在使用的任何调试格式。 – 2010-05-27 20:39:29
@Tim但是功能的参数对你来说仍然是个谜。 – joveha 2010-05-28 13:04:10