2017-02-16 4 views
1

他の人のコードに問題があります。ヘッダファイルが順不同であるようです。 (たとえば、再定義エラーが発生していますが、そのうちのいくつかは同じファイルにもあります)。Visual Studioの-showIncludesフラグと同様に、C++ Builderコンパイラが使用している#includeツリーを見ると便利です。そのような機能はありますか?もしそうなら、どのように私はそれにアクセスするのですか?私は特にC++ Builder 2007を使用しています。C++ Builderで#include階層を表示する

答えて

0

これは通常、大域定数、変数、時には#definesを含むファイルを複数回含む場合に発生します。あなたはすべて編集することを計画している場合を除き、マスターFormFormのSなどが、そのうちのいくつかは、同じLIBSを使用含まれていMDIアプリを...

には、階層がこのために役に立たないため、これは非常に一般的ですあなたは

#ifndef _file_name_h 
#define _file_name_h 
// here your source and includes 
#endif 

文を使用してこのようなすべてのファイルをカプセル化する必要があり、これを改善するために、後で上の問題を引き起こす可能性がソースファイル#include順(特に互換)...

。この例のように:(#define _file_name_hはまだ定義されていない間)源としてプリコンパイラ・レベルで複数の定義とコンパイルを防止する

のみ初めて処理されます。

0

悲しいことに、#include dファイルの階層を表示するためのBorland Cコンパイラオプションはありません。 EmbarcaderoのBCC32 CLI docsを参照してください。

しかし、Borland C Compiler Preprocessorを使用することもできます(クリーンではありません)。

CPP32 -Sr source.cpp # outputs source.i with comments and indentation retained