2013-03-18 60 views
2

我在混合C/C++項目中有一個頭文件,稱之爲A.h,它使用在另一個頭文件中聲明的類型,如X.hA.h直接不包括X.h,但包括其他頭文件,它們本身包括其他頭文件等,最終包括X.hVS2010可以告訴我哪個頭文件在聲明中拉?

我想知道A.h包含哪些頭文件是間接負責從X.h拉這種類型的聲明,而無需手動遞歸檢查我自己的頭文件的整個層次結構。

Visual Studio 2010能讓我看到這些信息嗎?

回答

2

是的,有一個編譯器選項,可以讓你看到哪些頭包含在何時。

這是/showIncludes,你可以在高級項目屬性中找到它。

+2

不幸的是,實際使用這些信息非常非常困難。我感興趣的頭文件最終會在原始文件的下方几百行(包含所有MS SDK和Boost頭文件),並且沒有辦法摺疊這個列表。 – detly 2013-03-18 23:27:26

+0

@您可以暫時嘗試從硬盤驅動器中刪除標題。包含的第一點將被髮信號('找不到文件,試圖包含在X.h'中)或類似的文件。 – 2013-03-20 23:45:58

+0

雖然這不一定會奏效,但它可能會在其它編譯單元出現很久之前錯誤地出現在'A.h'(在這種情況下,它會出現)之前。 – detly 2013-03-21 02:20:14

相關問題