-qtemplateregistry(仅限 C++)
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qtemplateregistry | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
维护在源代码中出现的所有模板记录并确保对每个模板仅执行一次实例化。
编译器首次迂到对模板实例化的引用时,将生成实例化并将相关对象代码放在当前对象文件中。 将记录对不同编译单元中相同模板的相同实例的任何进一步引用,但不会生成冗余实例。 无需特殊文件组织即可使用 -qtemplateregistry 选项。
语法
缺省值
-qnotemplatereg化学
参数
- file_path
- 将包含模板实例化信息的文件的路径。 如果未指定位置,那么编译器会将所有模板注册表信息保存到存储在当前工作目录中的文件
templateregistry。
使用量
不得在不同程序之间共享模板注册表文件。 如果有两个或多个程序的源位于同一目录中,那么依赖于存储在当前工作目录中的缺省模板注册表文件可能会导致不正确的结果。
-qtempinc 和 -qtemplateregistry 编译器选项互斥。 指定 -qtempinc 意味着 -qnotemplateregistry。 同样,指定 -qtemplateregistry 意味着 -qnotempinc。 但是,指定 -qnotemplateregistry 并不意味着 -qtempinc。
指定 -qtempinc 或 -qtemplateregistry 意味着 -qtmplinst=auto。
预定义的宏
无。
示例
要编译文件
myprogram.C 并将模板注册表信息放入 /tmp/mytemplateregistry 文件中,请输入以下命令: xlc++ myprogram.C -qtemplateregistry=/tmp/mytemplateregistry
