亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C / C ++中檢測多余的#includes?

在C / C ++中檢測多余的#includes?

C++ C
POPMUISE 2019-08-09 16:27:52
在C / C ++中檢測多余的#includes?我經常發現文件的標題部分一直變得越來越大但它永遠不會變小。在源文件的整個生命周期中,類可能已經移動并被重構,很可能有很多#includes不需要在那里再存在。將它們留在那里只會延長編譯時間并增加不必要的編譯依賴性。試圖弄清楚哪些仍然需要可能是相當繁瑣的。是否有某種工具可以檢測多余的#include指令并建議哪些可以安全刪除?lint可能這樣做嗎?
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

它不是自動的,但doxygen將生成#included文件的依賴關系圖。你必須在視覺上仔細閱讀它們,但它們對于獲得使用什么的圖片非常有用。


查看完整回答
反對 回復 2019-08-09
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

檢測多余包含的問題在于它不能僅僅是類型依賴性檢查器。一個多余包括為它提供了什么有價值的匯編文件,并不會改變它的其他文件依賴其他項目。頭文件可以通過多種方式改變編譯,例如通過定義常量,重新定義和/或刪除已使用的宏,添加一個命名空間,該命名空間可以在某種程度上改變名稱的查找。為了檢測命名空間之類的項目,您需要的不僅僅是預處理器,實際上您幾乎需要一個完整的編譯器。

Lint更像是一種風格檢查器,當然不具備這種全部功能。

我想你會發現檢測多余包含的唯一方法是刪除,編譯和運行套件。


查看完整回答
反對 回復 2019-08-09
  • 3 回答
  • 0 關注
  • 588 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號