C/C++ で余分な #include を検出する 質問する

C/C++ で余分な #include を検出する 質問する

ファイルのヘッダー セクションはどんどん大きくなりますが、小さくなることはありません。ソース ファイルの存続期間中、クラスは移動したりリファクタリングされたりすることがあり、そこに不要になったクラスがかなりある可能性が非常に高いです#include。それらをそのままにしておくと、コンパイル時間が長くなり、不要なコンパイル依存関係が追加されるだけです。どれがまだ必要かを判断するのは非常に面倒です。

余分なディレクティブを検出し、安全に削除できるディレクティブを提案するツールはありますか#include? lint でこれができるでしょうか?

ベストアンサー1

Google の cppclean (リンク先:ダウンロードドキュメンテーション) は、C++ の問題のいくつかのカテゴリを見つけることができ、余分な #includes も見つけられるようになりました。

Clangベースのツールもあります。使用するものを含める、これが実行できます。include-what-you-use は、前方宣言を提案することもできます (そのため、#include をあまり使用する必要はありません)。また、オプションで #include をクリーンアップすることもできます。

現在のバージョンエクリプス CDTこの機能も組み込まれています。[ソース] メニューの [インクルードの整理] をクリックすると、#include がアルファベット順に並べられ、Eclipse が使用していると判断したヘッダーが直接インクルードされずに追加され、必要ないと判断されたヘッダーがコメント アウトされます。ただし、この機能は 100% 信頼できるわけではありません。

おすすめ記事