关于此任务
以下代码生成语义适用于组件图:
- 为库和可执行构建类型组件提供了代码生成。
- 为文件夹和文件组件相关的元类型提供了代码生成。
- 仅针对二进制组件(库和可执行文件)之间的关系生成代码。
- 组件图的以下部分未提供代码生成:
- 涉及文件和文件夹的关系
- 组件实现的接口
- 构造型不是 «Library» 或 «Executable» 的所有其他组件类型
- 组件之间的依赖关系仅在它具有 «Usage» 构造型时生成代码,且存在以下限制:
CG::Component::ComponentsSearchPath 属性指定相关组件的名称,虽然在检查属性前先检查依赖关系。例如,组件 A 对 B 的依赖关系等同于将 B 放入 ComponentsSearchPath 属性(在名称更改恢复方面具有明显优势)。
请考虑下图中所示的图:
类 C1 和 C2 具有相互关系(关联)。明显有两个组件,component_1 和 component_2,每一个都一个同名配置。Component_1 对 component_2 具有构造型为 «Usage» 的依赖关系。
类 C1 在 component_1 在范围中。
类 C2 不在 component_1 的范围中,但是映射到 component_2 中的文件 F1。
- 在相关组件中查找元素文件名(如果元素不在当前组件的范围内)。
例如,在生成 component_1 时,如果 IBM® Rational® Rhapsody® 需要包含 C2,将包含 F1(component_2 中的文件)。
- 将相关组件添加到 the makefile include
路径。例如,在 component_1 makefile 中,include 路径中将添加新的、包含 component_2 位置的一行。
- 如果当前组件构建类型是可执行文件,相关组件构建类型是库,将库添加到当前组件的构建。
例如,如果 component_1 的构建类型是可执行文件,component_2 的构建类型是库,component_1 makefile 会将 component_2 的库包含在其构建中。