2013-10-28 38 views
-1

我知道我們可以使用nm來列出文件中的符號。但我在尋找的是列出包含在C++可執行文件中的所有頭文件。有沒有辦法在Linux上列出C++可執行文件中包含的所有頭文件?

+0

嘗試'G ++ -H file.C'。 –

+0

[/ show中可能包含相當於g ++的選項](http://stackoverflow.com/questions/4479049/show-include-equivalent-option-in-g)(編輯:假設你有可執行文件的源代碼,那就是!) – benjymous

+2

@benjymous:這個問題是關於已編譯的可執行文件,而不是編譯過程。 –

回答

10

有一種方法,你不需要它的工具;這是一個靜態列表:

  • 無。永遠。

在編譯可執行文件或庫的編譯階段,包含頭文件,而不是符號或依賴關係,但文本。他們的文本被直接複製到要編譯的代碼流中,並且他們的名字始終從滾動消失。

一旦完成,頭文件不會再被引用。


編輯:瘋狂猜測這裏,但我想你可能想知道,庫可執行用途;爲此您可以使用便捷的ldd

(作爲一個興趣點,ldd不會給你靜態鏈接庫,所以你可能是出於運氣呢。)

+0

我想有時候可能會從嵌入在* debug * builds中的DWARF數據中獲得頭文件列表。 –

+0

@ el.pescado:這是否可以被視爲可執行文件的一部分是一個懸而未決的問題;此外;這不是你可以信任的東西。 –

相關問題