1. ホーム
  2. c++

[解決済み] 大規模なC++プロジェクトで、不要な#includeファイルをどのように検出すればよいですか?

2022-12-03 01:53:30

質問

Visual Studio 2008 で大規模な C++ プロジェクトを作成しているのですが、多くのファイルに不要な #include ディレクティブがあるファイルがたくさんあります。時々 #include が単なる成果物であり、これを削除すればすべてがうまくコンパイルできることもありますし、他のケースではクラスが前方宣言され、#include が .cpp ファイルに移動させることができます。 これらのケースの両方を検出するための良いツールはありますか?

どのように解決するのですか?

不要なインクルードファイルは表示されませんが、Visual Studio では、設定により /showIncludes (右クリックで .cpp ファイルを表示します。 Properties->C/C++->Advanced ) を使用すると、コンパイル時にすべてのインクルードファイルのツリーを出力します。 これは、インクルードする必要のないファイルを特定するのに役立ちます。

また、pimplイディオムを見て、ヘッダーファイルの依存性を少なくして、削除できるゴミを見やすくすることができます。