私はCファイルをコンパイルしようとしていますが、それは再帰的にヘッダファイルをたくさん含んでいます。これらのヘッダファイルのリストを探しています。それが含まれるすべてのヘッダーファイルのリストを見つける簡単な方法は?Cファイルに含まれるすべてのヘッダファイルのリスト
答えて
それが再帰的に含まれるヘッダのリストをダンプするためのオプションだとあなたはGCC Cプリプロセッサを使用することができます。
cpp -M
すべてのヘッダーが含まれますが表示されます。
通常のビルドで使用されるすべてのインクルードディレクトリのルーツを与える必要があるでしょう。反復して実行し、エラーが停止するまで、より多くのインクルードパスを追加します。
この用法では、このコマンドの完全な形式は次のとおりです。
cpp -M [-I include_directory *] path_to_c_file.c
これは再びどのツールチェーンに当てはまりますか? –
これはgcc – piokuc
に適用されます。Ah、thx!私は 'gcc -M'や' g ++ -M'に 'cpp'コマンドをよく知っていて、その特定のオプションは私には新しくありました。再帰的にインクルードされたファイルも追跡しますか?これについて忘れてください、それはスタンドアローンのプリプロセッサです。 –
ほとんどのコンパイラは、単にファイルを前処理、それらを作るためにスイッチを持っています。何よりも、#include
のすべてを実際のコードに展開することを意味します。そして、通常は、オリジナルインクルードの行にコメント(適切なCコメント)を含めます。したがって、結果の前処理されたコードをすべてのそのようなコメントに対して検索して、すべてのヘッダーを収集することができます。
通常はコメントではなく、 '#line'ディレクティブです。 –
また、スイッチは通常 '-E'(または'/E')です。 –
http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#Preprocessor-Optionsに従って、-Hオプションと-Mオプションがこの目的に役立ちます。
http://www.stack.nl/~dimitri/doxygen/を使用してプロジェクトのドキュメントを生成した後、ファイルの依存関係を確認することができます:) C言語、C++、Objective-C、C#、PHP 、Java、Python、IDL(CorbaとMicrosoftのフレーバー)、FORTRAN、VHDL、Tcl。
- 1. VSにCPPファイルによって含まれるすべてのヘッダファイルを参照する方法2008
- 2. cプログラムに含まれるヘッダファイルのデフォルトパスは?
- 3. cヘッダファイルに基づくcファイルの並べ替え機能
- 4. 私のソースフォルダのヘッダファイルを含むEclipse C++
- 5. cppに含まれるすべてのファイルを抽出する
- 6. C:リストに項目が含まれているかどうかを調べる
- 7. xcodeにはヘッダファイルが含まれています
- 8. C#タプルの等価対リストに含まれています
- 9. GHCのFFIにCヘッダファイルを含める際の解析エラー
- 10. 名前空間内にヘッダファイルを含めるべきですか?
- 11. ヘッダファイルを含めるには
- 12. C++で2回ヘッダファイルを含む
- 13. ファイルにはヘッダファイルは含まれていませんが、インクルードされていないヘッダファイルのクラス/関数は引き続き使用できます
- 14. PHP:リストはすべて含まれています
- 15. pydrive:listFileにすべてのファイルがリストされていません
- 16. h5ファイルに含まれているすべてのデータにPythonでアクセスする
- 17. このboostヘッダファイルが含まれていない理由
- 18. unistd.hはどのファイルに含まれていますか? (C++)
- 19. リストのすべての単語が含まれている最小の「スクラブルボード」
- 20. C++ ::ヘッダファイルに
- 21. C# - リストのすべてのリストに結合する
- 22. には、ファイルのすべてのスクリプトタグが含まれています
- 23. すべてのファイルにlinuxの文字列が含まれています
- 24. C++これは私のヘッダファイルである
- 25. ヘッダファイルをインクルードしています。C++
- 26. ファイルにcの拡張子が含まれていません
- 27. 辞書リストDjangoテンプレートのリストに含まれています
- 28. C++演算子new/delete/variantがヘッダファイルに含まれていないのはなぜですか?
- 29. すべてのオブジェクトが含まれているプライベート静的リスト
- 30. 別のヘッダに含まれるファイルを含めるべきですか?
さて、.Cファイルを見てください。または、-Eコンパイラー・オプションを使用してマスター・ヘッダーを見ることもできます。 – Shark
ここにGCCのヒントがあります:http://stackoverflow.com/questions/42308/tool-to-track-include-dependencies –
for Visual Studio http://msdn.microsoft.com/en-us/library/hdkef6tk% 28v = vs.90%29.aspx –