「入力」タブを使用して、リバース・エンジニアリング処理で分析するインクルード・ファイルを指定できます。
- なし - メイン「リバース・エンジニアリング」ウィンドウで指定したファイルまたはフォルダーのみ分析します。すべての #include ステートメントは無視します。
これは、最もリバース・エンジニアリング処理のパフォーマンスに影響が少ないモードです。この最も限定されたモードのリバース・エンジニアリングは、適切な場合にのみ使用してください。
このモードでは、実装情報 (操作本体など) および静的変数の初期化をインポートせず、依存関係など必要な情報を失います。実装ファイルは、最初に対応する宣言ファイルを分析しないと分析できないことに注意してください。注: 「なし」オプションを使用すると、.cpp および .c ファイルの内容はインポートされません。
- 同じ名前のヘッダー・ファイルのみ - 一致するインクルード・ファイルのみ分析します。つまり、分析する実装ファイルと同じ名前の対応する宣言ファイル。このメソッドは、論理ファイル・モード と呼ばれます。
例えば、MyClass.cpp という名の実装ファイルに対して、リバース・エンジニアリング・ユーティリティーは、MyClass.h という名のインクルード・ファイルのみ分析します。選択したファイル・リスト内の他のインクルード・ファイルは分析されません。ハイパフォーマンス・モードは、分析するクラスの全情報をインポートしますが、プロジェクトの分離した部分で依存性を失うことがあります。このモードは、大きなプロジェクト (約 1000 ファイル) のリバース・エンジニアリング用に設計されています。注: このオプションを選択すると、ネスト状態の #include ステートメントは分析されません。
例については、同じ名前のヘッダー・ファイルの分析を参照してください。
- ファイル・リストからのみ - メイン「リバース・エンジニアリング」ウィンドウで指定したインクルード・ファイルのみ分析します。
例えば、4 つのファイル (one.h、two.h、three.h および one.cpp) があり、one.h、two.h、および one.cpp という名のファイルを選択したとします。リバース・エンジニアリング・ユーティリティーは one.cpp とそのインクルード・ファイル one.h および two.h を分析します。three.h は選択されなかったため、分析されません。
このモードは、関係のないファイルや重複する情報に対する不要な分析を排除するので、パフォーマンスの制御と維持については最も優れています。さらに、このモードでは、ディレクトリー内のすべてのファイルを追加することなく、分析に重要な宣言を含むファイルを選択できます。リバース・エンジニアリングのこのモードは、必要なすべての情報をインポートし、プロジェクト全体を通して依存関係を作ります。このモードは、中規模プロジェクト (約 100 ファイル) 用に設計されています。例については、ファイル・リストの分析を参照してください。
- All (すべて) - すべてのレベルですべてのインクルード・ファイルを分析します。このモードは再帰的分析 であり、MFC や STL など冗長情報を含むすべての情報をインポートするため、最もパフォーマンスに影響します。これはデフォルト値です。
<lang>_ReverseEngineering::ImplementationTrait::AnalyzeIncludeFiles プロパティーには、リバース・エンジニアリング処理がインクルード・ファイルを分析する方法を示す列挙値があります。「フィーチャー」ウィンドウの該当する「プロパティー」タブにあるプロパティーの定義を参照してください。
C++ プロジェクトでは、CreateDependencies プロパティーを使用して、リバース・エンジニアリング・フィーチャーが、コード構造からモデル内の、#includes、前方宣言、フレンド、および 名前空間の使用など、依存関係要素の作成を扱う方法を指定できます。このプロパティーの使い方の詳細については、「フィーチャー」ウィンドウの「プロパティー」タブにあるプロパティーの説明を参照してください。