-qdataimported、-qdatalocal 和 -qtocdata

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qdataimported, -qdatalocal, -qtocdata
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

优化和调整

等效编译指示

无。

用途

将数据标记为本地或已导入。

局部变量与使用它们的函数进行静态绑定。 您可以使用 -qdatalocal 选项来命名编译器可以假定为本地的变量。 或者,您可以使用 -qtocdata 选项来指示编译器假定所有变量都是本地变量。

导入的变量与库的共享部分动态绑定。 您可以使用 -qdataimported 选项来命名编译器可以假定要导入的变量。 或者,可以使用 -qnotocdata 选项来指示编译器采用要导入的所有变量。

语法

读取语法图跳过可视语法图 -q notocdatadataimported=:变量名称tocdatadatalocal=:变量名称

缺省值

-qdataimported-qnotocdata: 编译器假定已导入所有变量。

参数

variable_name
编译器应假定为本地或导入的变量的名称 (取决于指定的选项)。

仅限 C + + 必须使用其别名来指代名字。 要获取 C++ 改编名称,请使用 -c 编译器选项仅将源代码编译为对象文件,并对生成的对象文件使用 nm 操作系统命令。 您还可以使用编译器提供的 c + + filt 实用程序来并排列出源名称和已管理的名称; 请参阅 Demangling 编译的 C++ 名称 以获取详细信息。 (另请参阅 名称修饰 以获取有关在声明上使用 extern "C" 链接说明符以防止名称修饰的详细信息。)

指定 -qdataimported 而不指定任何 variable_name 等同于 -qnotocdata: 假定导入所有变量。 指定不带任何 variable_name-qdatalocal 等同于 -qtocdata: 假定所有变量都是本地变量。

使用量

如果实际导入标记为本地的任何变量,那么性能可能会下降。

如果指定其中任何选项而不指定任何变量,那么将使用指定的最后一个选项。 如果在多个选项规范上指定相同的变量名,那么将使用最后一个变量名。

预定义的宏

无。

相关信息