2009-07-24 39 views
3

可能重複:
C/C++: Detecting superfluous #includes?
How should I detect unnecessary #include files in a large C++ project?自動刪除不需要的#include語句

嗨,

我一直在關注如何減少建造時間對C無數次的討論/ C++項目。通常,優化是通過使用前向聲明來擺脫#include語句。現在,我想知道:

是否有可能一個工具,它可以計算之間的#include依賴關係樹的C/C++頭 文件(我知道mkdep在Linux上可以做到這一點),然後開始一個「刪除頭文件/編譯'循環?如果該工具可以嘗試從依賴關係樹中移除節點(例如,從文件中移除#include statments),然後重建該項目以查看它是否仍然有效,那將會很好。

它不應該非常聰明(比如,通過使用指針而不是數值等重構代碼來使頭文件不必要),但是我相信很多項目都有不需要的#include語句。這通常是通過重構代碼並移動它,然後忘記將#include移出。

有誰知道這樣的工具是否存在?

+2

可能的重複項:http://stackoverflow.com/questions/614794/cc-detecting-superfluous-includes和http://stackoverflow.com/questions/74326/how-should-i-detect-unnecessary-include- files-in-a-large-c-project – dfa 2009-07-24 09:32:31

回答

1

這裏有很多類似的問題。到目前爲止,沒有人提出一個非常好的工具來列出依賴圖和hilight多個包含等等(最喜歡的似乎是doxygen),更不用說對文件本身進行編輯。所以我會猜測這個anser會是「不」 - 然而,我會很高興做錯了!