[解決済み] 大規模な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イディオムを見て、ヘッダーファイルの依存性を少なくして、削除できるゴミを見やすくすることができます。
関連
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み] Visual Studioプロジェクトをコマンドラインからコンパイルするにはどうすればよいですか?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] なぜこのプログラムは3つのC++コンパイラで誤って拒否されるのですか?
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】C/C++で余分な#includeを検出する?
-
[解決済み】std::unique_ptr<T>はTの完全な定義を知るために必要なのでしょうか?
-
[解決済み] Visual StudioでC++ファイルの#include階層を表示する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】デバッグアサーションに失敗しました
-
[解決済み】C/C++で余分な#includeを検出する?
-
[解決済み] インクルードの依存関係を追跡するツール [終了しました]。