在C / C ++中檢測多余的#includes?我經常發現文件的標題部分一直變得越來越大但它永遠不會變小。在源文件的整個生命周期中,類可能已經移動并被重構,很可能有很多#includes不需要在那里再存在。將它們留在那里只會延長編譯時間并增加不必要的編譯依賴性。試圖弄清楚哪些仍然需要可能是相當繁瑣的。是否有某種工具可以檢測多余的#include指令并建議哪些可以安全刪除?lint可能這樣做嗎?
3 回答
搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
檢測多余包含的問題在于它不能僅僅是類型依賴性檢查器。一個多余包括為它提供了什么有價值的匯編文件,并不會改變它的其他文件依賴其他項目。頭文件可以通過多種方式改變編譯,例如通過定義常量,重新定義和/或刪除已使用的宏,添加一個命名空間,該命名空間可以在某種程度上改變名稱的查找。為了檢測命名空間之類的項目,您需要的不僅僅是預處理器,實際上您幾乎需要一個完整的編譯器。
Lint更像是一種風格檢查器,當然不具備這種全部功能。
我想你會發現檢測多余包含的唯一方法是刪除,編譯和運行套件。
- 3 回答
- 0 關注
- 588 瀏覽
添加回答
舉報
0/150
提交
取消
