-qdataimported、-qdatalocal 和 -qtocdata
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qdataimported, -qdatalocal, -qtocdata | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
将数据标记为本地或已导入。
局部变量与使用它们的函数进行静态绑定。 您可以使用 -qdatalocal 选项来命名编译器可以假定为本地的变量。 或者,您可以使用 -qtocdata 选项来指示编译器假定所有变量都是本地变量。
导入的变量与库的共享部分动态绑定。 您可以使用 -qdataimported 选项来命名编译器可以假定要导入的变量。 或者,可以使用 -qnotocdata 选项来指示编译器采用要导入的所有变量。
语法
缺省值
-qdataimported 或 -qnotocdata: 编译器假定已导入所有变量。
参数
- variable_name
- 编译器应假定为本地或导入的变量的名称 (取决于指定的选项)。
必须使用其别名来指代名字。 要获取 C++ 改编名称,请使用 -c 编译器选项仅将源代码编译为对象文件,并对生成的对象文件使用 nm 操作系统命令。 您还可以使用编译器提供的 c + + filt 实用程序来并排列出源名称和已管理的名称; 请参阅 Demangling 编译的 C++ 名称 以获取详细信息。 (另请参阅 名称修饰 以获取有关在声明上使用 extern "C"链接说明符以防止名称修饰的详细信息。)指定 -qdataimported 而不指定任何 variable_name 等同于 -qnotocdata: 假定导入所有变量。 指定不带任何 variable_name 的 -qdatalocal 等同于 -qtocdata: 假定所有变量都是本地变量。
使用量
如果实际导入标记为本地的任何变量,那么性能可能会下降。
如果指定其中任何选项而不指定任何变量,那么将使用指定的最后一个选项。 如果在多个选项规范上指定相同的变量名,那么将使用最后一个变量名。
预定义的宏
无。
