预定义的关键字变量

下表列示 IBM® Rational® Rhapsody® 中使用的预定义关键字变量。

表 1. 预定义的关键字变量
关键字 使用位置 描述
$archive
配置管理
您在“连接到归档”窗口中选择的归档的文件名(包括完整路径)。此名称可以是文件或目录。
$archiveddirectory
配置管理
这是 $archive 的目录部分。如果 $archive 是目录,那么 $archive$archiveddirectory 相同。
$arguments
ATL
这是操作的自变量。
$Arguments
<lang>_CG
这是对事件或操作自变量的描述,由 DescriptionTemplate 特性使用。
$attribute
CG
这是属性上的操作的对象。

限定符 :c 用于将属性名称转换为大写。

$base
<lang>_CG
这是反应对象的名称。
$CheckOut
配置管理
这是使用主“配置项”窗口从归档中检出配置项时执行的命令。
$class
ATL
这是 ATL 类的名称。
$ClassClean
Makefiles
这是在构建中使用的类文件的列表。
$cname
CG、<Container Types><lang>_CG
这是用于存放关系的容器的名称。典型的容器有数组、列表、堆栈、堆和映射。
$coclass
ATL
这是用于公开 COM 接口的组件类的名称。
$CodeGeneratedDate
CG 和 <lang>_CG
这是代码生成日期。此信息将在生成的文件的头部和底部处输出。
$component
ATL
这是组件名称。
$ComponentName
CG
这是导致生成代码的组件的名称。此信息将在生成的文件的头部和底部处输出。
$ConfigurationName
CG 和 <lang>_CG
这是导致生成文件中的模型元素的配置的名称。此信息将在生成的文件的头部和底部处输出。
$datamem
ATL
这是数据成员。
$DeclarationModifier
ATL
这是声明修饰符。
$Description
<lang>_CG
这是元素描述,由 DescriptionTemplate 特性使用。
$Direction
<lang>_CG
自变量方向(inout 等等),由 DescriptionTemplate 特性使用。
$dupinterface
ATL
这是重复接口的名称。
$executable
<lang>_CG
这是 Rational Rhapsody 代码生成器所生成的可执行二进制文件的路径。
$FILENAME
CPP_CG
这是所使用的文件的名称:
  • 用于将各个类的源代码生成到用户指定的目录中
  • 用于指定反向工程期间不导入某个语句(用于保护 h 文件不会被多次包括的 #ifndef)
$Fork
框架:start 方法 用于指定 OMMainThread 单实例事件循环是应该在应用程序主线程中运行,还是应该在另一个线程中运行。
$FullCodeGeneratedFileName
CG 和 <lang>_CG
这是文件的完整路径名。此信息将在生成的文件的头部和底部处输出。
$FULLFILENAME
CG
这是所使用的文件的完整名称:
  • 用于将各个类的源代码生成到用户指定的目录中
  • 用于指定反向工程期间不导入某个语句(用于保护 h 文件不会被多次包括的 #ifndef
$FullModelElementName
CG 和 <lang>_CG
这是模型元素的全名,其格式为 <package>::<class>。此信息将在生成的文件的头部和底部处输出。例如,Radar::Engine 表示名为 Radar 的包中名为 Engine 的类。
$FullName
<lang>_CG
这是元素的完整路径 (P1::P2::C.a),由 DescriptionTemplate 特性使用。
$id
ATL
这是标识。
$IDInterface
ATL
这是 COM 接口的接口标识。
$index
<Container Types>
这是一个索引,用于以随机方式访问容器中的项。
$instance
特性:CORBA::TAO::InitialInstance 这指的是 TAO ORB 的缺省初始实例。
$interface
ATL
这是接口的名称。
$interfaceSeq
特性:CORBA::Class::IDLSequence 表示 CORBA 接口的名称,并且在词汇末尾添加了字符串 Seq
$item
CG 和 <Container Types>
这是一个类或实例,其行为由容器实现。Rational Rhapsody 将生成各种 addremovefindget 操作,以便处理容器中的项。
$iterator
<Container Types>
这是用于对容器进行遍历的迭代器的名称。
$keyname
<Container Types>
这是用于访问映射中的项的键的名称。键通常是一个字符串,它映射到用于查找项的字典。
$label
配置管理
这是在“检入”/“检出”窗口中提供的配置项可选修订版标签。
$log
配置管理
这是在“检入”窗口中提供的可选注释。
$LogPart
配置管理
这是用户对 CM 操作指定的注释。
$Login
CG 和 <lang>_CG
这是生成文件的用户的登录名。此信息将在生成的文件的头部和底部处输出。
$makefile
<lang>_CG
这是 Rational Rhapsody 代码生成器所生成的 Makefile 的名称。
$maketarget
<lang>_CG
根据从“代码”菜单中选择的选项不同,此选择将扩展为下列其中一项操作:
  • 构建
  • 清除
  • 重建
$member
<lang>_CG
这是对象的反应成员(相当于基类)的名称。
$mePtr
<lang>_CG
这是用户对象的名称(Me 特性的值)。如果用户对象处于活动状态,那么 member 对象与 mePtr 对象不相同。
$mode
配置管理
这是一个标志,用于指示“检入”/“检出”窗口中提供的锁定方式。如果已将项锁定,那么 $mode 将替换为 CM 特性 ReadWrite 的内容。如果未锁定,那么 $mode 将替换为 ReadOnly 特性的内容。
$ModePart
配置管理
这是 CM 操作的锁定方式。

例如,可以采用锁定或解锁方式从归档中检出文件。

$Name
<lang>_CG
这是元素名称,由 DescriptionTemplate 特性使用。
$noOfArgs
ATL
这是操作的自变量数目。
$OMAdditionalObjs
Makefile
这是要包括在可执行文件中的文件的列表。
$OMAllDependencyRule
Makefile
这是特定源文件的依赖关系规则 (A.cpp: A.h B.h C.idl)。
$OMBuildSet
Makefile 这是在活动配置的“设置”窗口中指定的编译器调试方式/发布方式开关。
$OMCleanOBJS
Makefile 这是 Makefile 中每个对象文件的删除命令的列表。此列表中的每个条目都根据 ObjCleanCommand 特性的值创建。
$OMCOM
Makefile
指定要链接的 COM 应用程序是 Windows 应用程序,而不是控制台应用程序。此关键字将根据 <lang>_CG::
<Environment>::COM
特性的值进行解析。
$OMConfigurationCPPCompile
开关
Makefile
这是由配置的 CompileSwitches 特性指定的编译器开关。
$OMConfigurationLink
开关
Makefile
这是配置的链接开关(在配置的设置选项卡中设置)。
$OMContextDependencies
Makefile
这是每个作为组件组成部分构建的模型文件的依赖项及编译命令列表。每个条目都由 DependencyRule 特性值以及随后的 CPPCompileCommand 特性值组成。
$OMContextMacros
Makefile
生成的宏的集合,这包括:
  • OMROOT
  • CPP_EXT/C_EXT
  • H_EXT
  • OBJ_EXT
  • LIB_EXT
  • INSTRUMENTATION
  • TIME_MODEL
  • TARGET_TYPE
  • TARGET_NAME
  • “all”规则
  • TARGET_MAIN
  • LIBS
  • INCLUDE_PATH
  • ADDITIONAL_OBJS
  • OBJS

有关更多信息,请参阅 MakeFileContent

$OMCPPCompileCommandSet
Makefile
这是与 CPPCompileDebug/CPPCompileRelease 特性相关的编译开关。要使用的特性基于 BuildCommandSet 特性的值。请使用浏览器中的配置设置选项卡来设置 BuildCommandSet 的值。
$OMCPPCompileDebug
Makefile
这是在给定环境中创建组件的调试版本所需的编译开关,由 CPPCompileDebug 特性指定。
$OMCPPCompileRelease
Makefile 这是在给定环境中创建组件的发布版本所需的编译开关,由 CPPCompileRelease 特性指定。
$OMFileCPPCompileSwitches
Makefile CPPCompileCommand 特性中,使用此关键字来引入 GUI 定义的附加设置。内容由 Rational Rhapsody 根据字段内容或内部规则生成。

这是其中一个预定义关键字,包括(但不限于):

  • $OMCPPCompileDebug
  • $OMCPPCompileRelease
  • $OMLinkDebug
  • $OMLinkRelease
  • $OMBuildSet
  • $OMContextMacros
$OMDefaultSpecification
Directory
Makefile 支持缺省的规范/实现源目录功能。

要设置某个配置的缺省目录,请设置 <lang>_CG::
Configuration::
DefaultSpecification-Directory 和 <lang>_CG::
Configuration::
DefaultImplementation-Directory
特性。

$OMDEFExtension
Makefile 这是定义文件的扩展名 (.def)。此关键字将应用于 MicrosoftDLL/COM 环境。
$OMDllExtension
Makefile 这是动态链接库文件的扩展名 (.dll)。此关键字将应用于 MicrosoftDLL/COM 环境。
$OMExeExt
Makefile
这是已编译的可执行文件的扩展名。
$OMFileDependencies
Makefile
用作源文件依赖关系行的组成部分。这是计算而得的文件列表,源文件依赖于其中的文件。
$OMFileImpPath
Makefile
这是实现文件的相对名称和路径。在源文件依赖关系和编译命令中,将使用此关键字。
$OMFileObjPath
Makefile
这是与给定实现文件和规范文件相关的对象文件的相对路径及名称。此关键字用作文件编译命令的组成部分。
$OMFileSpecPath
Makefile
这是规范文件的相对路径和名称。在源文件依赖关系行中,将使用此关键字。
$OMFlagsFile
Makefile 维护此关键字是为了实现向后兼容性。
$OMImpIncludeInElements
Makefile
这是相关实现文件中包含的所有 #include 的列表。此关键字用作源文件依赖关系行的组成部分。
$OMImplExt
Makefile
这是为模型元素生成的实现文件的扩展名。
$OMIncludePath
Makefile
这是包括路径。此路径是根据组件之间的依赖关系以及活动组件/配置的“特征”窗口中的包括路径设置计算的。
$OMInstrumentation
Makefile
这是活动配置检测方式(“无”、“跟踪”或“动画”)。
$OMInstrumentationFlags
Makefile
表示所选检测类型(“动画”、“跟踪”或“无”)所需的预处理器伪指令。
$OMInstrumentationLibs
Makefile
表示所选检测类型(“动画”、“跟踪”或“无”)所需的库。
$OMLibExt
Makefile
这是库文件的扩展名。
$OMLibs
Makefile
这是构建组件时除框架库以外还要链接的其他库的名称。此关键字是根据组件之间的依赖关系以及活动组件/配置的“特征”窗口中的列表计算的。
$OMLibSuffix
代码生成
表示用于库名的后缀。此关键字将替换为 DebugLibSuffix 特性或 ReleaseLibSuffix 特性(视构建而定)的值。
$OMLinkCommandSet
Makefile
这是与 LinkDebug/LinkRelease 特性相关的链接开关。要使用的特性基于 BuildCommandSet 特性的值。请使用浏览器中的配置设置选项卡来设置 BuildCommandSet 的值。
$OMLinkDebug
Makefile
这是特定于环境的链接开关,用于构建组件的调试版本。此开关是 LinkDebug 特性的值。
$OMLinkRelease
Makefile
这是 LinkRelease 特性的值。
$OMMainImplementationFile
Makefile
这是主文件的名称和路径:

[<imp dir>/]$TARGET_
MAIN)$(CPP_EXT)

$OMMakefileName
Makefile
这是 Makefile 的名称。
$OMModelLibs
Makefile
这是模型所依赖于的库组件。

例如,如果可执行组件 A 依赖于库组件 L,那么此关键字将替换为字符串 <filepath>\L.lib

$OMObjExt
Makefile
这是用于给定环境的对象文件(临时编译器文件)的扩展名。这是 ObjExtension 特性的值。
$OMObjs
Makefile
这是要由 Makefile 链接到构建中的对象文件的列表。
$OMObjectsDir
Makefile
这是根据 <lang>_CG::
<Environment>::
ObjectsDirectory
特性计算而得的关键字。
$OMRoot
配置管理、
常规、<lang>_CG、
<lang>_Roundtrip 和 Makefile
这是 Rational Rhapsody 安装中的 \Share 子目录的位置。此位置是在 rhapsody.ini 文件中设置的。
$OMRPFrameWorkDll
Makefile
使用 DLL 版本的框架(而不是使用缺省的静态库)来链接 COM 应用程序。此关键字将根据 <lang>_CG::
<Environment>::
RPFrameWorkDll
特性的值进行解析。
$OMRulesFile
  维护此关键字是为了实现向后兼容性。
$OMSourceFileList
Makefile
(Rational Rhapsody in J) 列示要在构建中使用的源 (*.java) 文件。
$OMSpecExt
Makefile
这是为模型元素生成的规范文件的扩展名。
$OMSpecIncludeInElements
Makefile
列示相关规范文件中包含的所有 #include
$OMSubSystem
Makefile
这是 Microsoft 链接程序的程序类型(例如 Windows)。
$OMTargetMain
Makefile
这是可执行组件的 main() 函数所在文件的名称。
$OMTargetName
Makefile
这是组件的编译版本的名称。
$OMTargetType
Makefile
这是要构建的组件的类型(库或可执行文件)。
$OMTimeModel
Makefile
这是配置的时间模型设置(仿真时间或实际时间)。
$OMUserIncludePath
INTEGRITY 构建文件 (.gpj) 表示配置的“特征”窗口的“设置”选项卡上“包括路径”字段中的内容。此内容将包括在针对使用了此类文件的环境(例如 INTEGRITY5)生成的 .gpj 文件中。
$operations
ATL
这是操作列表。
$opname
ATL 这是操作名称。
$opRetType
ATL 这是操作的返回类型。
$package
ATL 这是包的名称。
$PackageLib
ATL 这是包库。
$ProgID
ATL 这是 ProgID 特性的值(缺省值:$component.$class.1)。
$projectname
配置管理
这是项目名。
$<Property>
<lang>_CG
这是 CCPP_CG::CG::
<metatype>
之下具有指定名称的元素特性的值。此关键字由 DescriptionTemplate 特性使用。
$RegTlb
ATL
指定 COM 服务器是否需要注册其类型库。根据 COM ATL 服务器是否包含类型库,此关键字将自动扩展为 TRUE/FALSE。
$RhapsodyVersion
CG 和 <lang>_CG
这是 Rational Rhapsody 的当前版本(不包括构建号)。此信息将在生成的文件的头部和底部处输出。
$rhpdirectory
配置管理
这是项目存储库所在的 _rpy 目录的路径。此存储库包含项目的所有配置项。
$Signature
<lang>_CG
这是操作特征符,由 DescriptionTemplate 特性使用。
$state
特性
CPP_CG::Framework::IsInCall
CPP_CG::Framework::IsComple
tedCall
Rational Rhapsody 生成的用于检查应用程序是否处于给定状态的代码中,此关键字将替换为状态名称。
$target
<Container Types><lang>_CG
这是对关系执行的操作的目标。这通常是角色名称。

例如,在具有名为 myServer 的关系的类中,在扩展涉及该关系的特性时,角色名称 myServer 将替换变量 $target。值 add$target:c 将变为:

addMyServer()

限定符 :c 用于将角色名称转换为大写。

$Target
<lang>_CG
这是关联的另一端,由 DescriptionTemplate 特性使用。
$targetDir
配置管理
这是目标目录。
$ThreadModel
ATL
这是 ThreadingModel 特性的值(缺省值:Apartment)。
$tlbPath
ATL
这是 COM 类型库文件的完整路径。
$type
CG 和 <lang>_CG
这是类型名称。

例如,如果您创建了名为 MyType 的类型并将其 in 特性设置为 "const $type&",那么 in 自变量的生成方式如下:

"const MyType& <argname>"

$Type
<lang>_CG
这是自变量类型,由 DescriptionTemplate 特性使用。
$TypeName
ATL
这是 TypeName 特性的值,此特性指定要注册的类类型的声明(缺省值:$class)。
$unit
配置管理
这是协作单元。这是与 CM 命令所处理的配置项(包、配置或图)相对应的文件的名称。如果提供了多个单元,那么此命令将在 for each 循环中反复执行。
$VersionIndepProgID
ATL
替换为 VersionIndepProgID 特性的值(缺省值:$component.$class)。
$VtblName
<lang>_CG
这是对象的虚函数表的名称,由 ReactiveVtblName 特性指定。

下表列示了框架文件和 Makefile 中使用的预定义 Rational Rhapsody 宏。

描述
AR
这是用于构建库的命令。
ARFLAGS
这是用于构建库的标志。
CP
这是特定于环境的复制命令。
CPP_EXT
这是特定于环境的 C++ 实现文件扩展名(例如 .cpp)。
DLL_CMD
扩展为用于启动构建的 DLL 链接阶段的 DLL 链接命令。
DLL_FLAGS
扩展为应用于 DLL 链接命令的开关。
H_EXT
这是特定于环境的 C++ 实现文件扩展名(例如 .h)。
INCLUDE_QUALIFIER
这是给定环境中用于在编译器或链接开关中指定包括文件的限定符。
LIB_CMD
这是用于构建库的命令。
LIB_EXT
这是特定于环境的库文件扩展名(例如 .lib)。
LIB_FLAGS
这是用于构建库的标志。
LIB_NAME
这是库的名称。
LIB_POSTFIX
这是在主文件名与扩展名之间添加的后缀。可能的值如下所示:
  • sim 表示仿真时间(例如,oxfsim.lib
  • inst 表示检测(例如,oxfinst.lib
  • siminst 表示仿真时间和检测(例如,oxfsiminst.lib

这个宏不用于 DLL。

LIB_PREFIX
这是在文件名开头添加的前缀。例如,将对 VxWorks 库添加前缀“Vx”。

这个宏不用于 DLL。

LINK_CMD
扩展为用于启动构建的链接阶段的链接命令。
LINK_FLAGS
扩展为应用于链接命令的链接开关。
OBJ_EXT
这是特定于环境的对象文件扩展名(例如 .o.obj)。
OBJS
这是要构建的中间对象文件(例如,aombrk.obj)。
PDB_EXT
这是特定于环境的 PDB 调试文件扩展名(例如 .pdb)。
RM
这是用于删除文件并且特定于环境的除去命令。
RMDIR
这是用于删除目录并且特定于环境的除去命令。您设置 <lang>_CG::<Environment>::ObjectsDirectory 特性时,将在清除规则中使用这个宏。

反馈