使用输入选项卡来指定要在反向工程过程中分析的包含文件。
- 无表示仅分析在主“反向工程”窗口中指定的文件或文件夹;将会忽略所有 #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 个文件)而设计的。请参阅分析文件列表获取示例。
- 全部表示分析所有级别上的所有包含文件。这种方式称作递归分析,并且会消耗大多数性能,因为它会导入所有信息,即使是 MFC 和 STL 等冗余信息。这是缺省值。
<lang>_ReverseEngineering::ImplementationTrait::AnalyzeIncludeFiles 属性具有枚举值以指定反向工程过程如何分析包含文件。请参阅“特征”窗口的适用属性选项卡上提供的属性定义。
对于 C++ 项目,您可以使用 CreateDependencies 属性指定反向工程功能如何从代码构造(例如,#includes、forward 声明、friends 和 namespace 用法)处理模型中依赖关系元素的创建。有关如何使用该属性的更多详细信息,请参阅“功能部件”窗口的适当属性选项卡上为该属性提供的定义。