2013-02-14 140 views

回答

0

沒有從對象文件中提取編譯器標誌的一般方法。你可以通過編譯兩次,有和沒有像-fverbose-asm(僅影響asm生成的gcc標誌)之類的無操作開關並比較對象 - 它們將是相同的。然而,有一些編譯器特定的擴展可以讓你在編譯期間插入它們。在更新版本的gcc中使用-frecord-gcc-switches,其中放置了.GCC.command.line部分中使用的標誌。不同的編譯器在.comment部分插入各種信息,例如我編譯用gcc 4.7.2所示:

$objdump -s -j.comment <objfile> 

objfile:  file format elf64-x86-64 

Contents of section .comment: 
0000 00474343 3a202847 4e552920 342e372e .GCC: (GNU) 4.7. 
0010 3200         2. 

你當然也可以拿到架構相同的方式對某文件,與objdump -f

+0

謝謝...解決了它... – 2013-02-15 04:24:00