可移植性和迁移

此类别中的 选项 可帮助您在过去,当前和将来的硬件,操作系统和编译器上保持应用程序行为兼容性,或者帮助将应用程序移至 XL 编译器而进行最小更改。
表 1. 可移植性和迁移选项
选项名称 等效编译指示名称 描述
基于 XL 的前端开始-对齐 #pragma 选项对齐, #pragma 对齐

指定存储器中数据对象的对齐方式,以避免因未对齐的数据导致的性能问题。

基于 XL 的前端开始-qalignrulefor(仅适用于C++) 无。

-qalign=power 一起使用时,确定是否将 4 字节对齐上限应用于结构成员。 结构成员是类型为 typedef 的结构的非第一个成员,其元素类型的数组超过了对齐上限。

基于 XL 的前端开始-qgenproto(仅限C语言) 无。

通过 K&R 函数定义或者含空括号的函数定义来生成原型声明,并将其显示在标准输出中。

-qnamemangling(仅限 C++) 基于 XL 的前端开始#pragma namemangling

基于 Clang 的前端开始没有。

为从 C++ 源代码生成的外部符号名称选择名称改编方案。

基于 XL 的前端开始-qobjmodel(仅限C++) #pragma 对象模型

设置要用于结构、联合体和类的对象模型。

基于 XL 的前端开始-qoldpassbyvalue(仅C++) #pragma :pass_by_value

指定在函数参数中如何传递包含 const 或引用成员的类。

基于 XL 的前端开始-qupconv(仅C语言) #pragma 选项 upconv

指定在执行整数提升时是否保留 unsigned 规范。

-qvecnvol 无。

指定是使用易失性还是非易失性向量寄存器。

基于 Clang 的前端开始
-qxlcompatmacros
无。
控制以下遗留宏的定义 __xlC____xlC_ver__仅限 C + + 开始__IBMCPP__仅限 C++ 结束C 仅开始__IBMC____xlc__仅限 C 结束