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