-qunique
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qunique | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
为静态构造函数/析构函数文件编译单元生成唯一名称。
语法
缺省值
-qnounique
使用量
通过将随机数编码到静态构造函数和析构函数的名称中,使用 -qunique 生成唯一名称。 缺省行为是在构造函数和析构函数中对源文件的绝对路径名进行编码。 如果对于多个编译,绝对路径名将完全相同 (例如,如果使用了 make 脚本) ,那么 -qunique 选项是必需的。
如果使用 -qunique,那么必须始终与所有 .o 和 .a 文件链接。 请勿在链接步骤中包含可执行文件。
预定义的宏
无。
示例
假设您要使用相同的路径名编译多个文件,以确保静态构造正常工作。 Makefile 可能会生成以下步骤:
sqlpreprocess file1.sql > t.C
xlc++ -qunique t.C -o file1.o
rm -f t.C
sqlpreprocess file2.sql > t.C
xlc++ -qunique t.C -o file2.o
rm -f t.C
xlc++ file1.o file2.o
以下代码是上述示例的样本 makefile:
# rule to get from file.sql to file.o
.SUFFIXES: .sql
.sql.o:
sqlpreprocess $< > t.C
$(CCC) t.C -c $(CCFLAGS) -o $@
rm -f t.C