私は、お互いを含む膨大な数の複雑なヘッダファイルを持つ非常に大きなプロジェクトを持っています。それが依存している膨大な数のサードパーティライブラリもあります。私は混乱をまっすぐにしようとしていますが、いくつかの問題があります。#includeディレクティブを削除するだけで、それが含まれていたものが他のファイルの1つに含まれていることがわかります。これを理解するのに役立つツールはありますか?私は実際に.hファイルをクリックして、それが(直接的または間接的に)どのCPPファイルに含まれているのか、それが含まれているパスを尋ねることができ、同様にcppファイルをクリックしてそれを尋ねることができます。 hファイルが(直接的および間接的に)含まれています。私はこれを行うツールについて聞いたことがないし、グーグル・グーグルでは何も変えていないが、何を探したらいいのか分からない。あなたはGCCコンパイラを使用する場合C++にはファイルブラウザが含まれています
答えて
クローズドソースのフリーでないツールを推奨するのはやや悪いですが、これは私の質問には最高の答えです。それは私が必要とするすべてのものをほとんど行い、それほど高価ではありません。私の上司は、ほとんどの部門のライセンスを購入することに決めました。 – rmeador
私は感動したユーザーです!私はまだライセンスを購入しておらず、試用期間中にしか使用していませんが、これまでは非常に便利でした。 –
の依存関係を含め表示されてみてください/ showIncludesフラグが(そこにあるC/C++ /詳細プロパティで)。これにより、各.cppファイルに含まれるヘッダーとそのヘッダーがすべて印刷されるため、ここから移動できます。
VS2008の同じ場所に同じオプションがあることは間違いありません。
これはVS2008、同じ場所で。非常に有望に見えます。それは私の仕事が私が想定していたよりもはるかに難しいとも言います... – rmeador
あなたの状況は私自身のことを思い出させます。私はDLLで悩むのではなく、ライブラリとして使用するために作成したヘッダをたくさん持っています。
もちろん環状含んが面倒になることができますので、私は、Visual のようなツールは、X(1)は、この種のものに役立つアシストことがわかります。これは、物事への参照を見つけることができる関数を持っているので、何かが定義/宣言/インクルードされているところなどから簡単に除外することができます。その他の便利な機能もたくさんあります。
おそらく、参照機能を持つ他のツールやプラグインがありますが、通常はユーティリティの他のリファクタリング機能と生産性機能の1つの機能です。
HTH
それはかなり面倒ですが、あなたはバイナリ検索できるの#includeは、#エラー(および#pragmaメッセージ)を使用することによって発生した場所にあなたの方法を引っ張っされている行を含める絞り込みます第三者に私は追跡しようとしていた単一のファイルの場合にこれを行っていますが、あなたの問題がより大きいように聞こえるので、他のツールのほうが効果的です。
- 1. ファイルブラウザのアプリケーションに遅いファイルがロードされています
- 2. C#Xml選択ノードが含まれていますinnertextにはテキストが含まれています
- 3. ローカルドライブCにアクセスできないファイルブラウザをC#で開きます
- 4. VS2005クラスライブラリにはCコードが含まれていますか?
- 5. C++ 11には<cstdlib>が含まれています。
- 6. C#にはメソッドが含まれています
- 7. C#には空のコレクションが含まれています
- 8. GNU C/C++コンパイラには検索順序が含まれています
- 9. c#DataGridViewに子関係が含まれています
- 10. C - 出力にヌル値とセグメンテーションフォールトが含まれています
- 11. Cマクロに一時変数が含まれていますか?
- 12. Cヘッダーファイルにエラーが含まれています
- 13. c#に文字列の一部が含まれています
- 14. Metro Windows 8 C++アプリケーションにインラインアセンブラが含まれていますか?
- 15. c#check enumがオプションに含まれています
- 16. C#テキストファイルにエラーログが含まれています
- 17. 文字列にC#の関数が含まれています
- 18. C#POSTデータにスラッシュが含まれています/ \
- 19. は複数が含まれているC#またはjqueryの
- 20. が含まれています。ヘルプが必要です(C#)
- 21. unistd.hはどのファイルに含まれていますか? (C++)
- 22. gfortranにはサブルーチンを含むディレクトリが含まれています
- 23. C++には面白いEclipseの演技が含まれています
- 24. JObjectにはC#キーワードが含まれています。アクセス方法は?
- 25. UnityEngine.Componentに定義が含まれていません... C#
- 26. System.IO.FileにReadAllBytesが含まれていませんC#
- 27. フォームポストにテキストボックスデータが含まれていません。[ASP.NET C#]
- 28. ファイルにcの拡張子が含まれていません
- 29. C# 'Object'に 'position'の定義が含まれていません
- 30. C#datagridviewに行が含まれていません
似たような投稿があります:[http://stackoverflow.com/questions/74326/how-should-i-detect-unnecessary-include-files-in-a-large-c-project](http: //stackoverflow.com/questions/74326/how-should-i-detect-unnecessary-include-files-in-a-large-c-project) – Alex