-qldbl128 和 -qlongdouble

适用的调用

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

类别

浮点和整数控件

等效编译指示

#pragma 选项 [no]ldbl128

用途

long double 类型的大小从 64 位增加到 128 位。

语法

读取语法图跳过可视语法图 -q noldbl128nolongdoubleldbl128longdouble

缺省值

-qnoldbl128

使用量

提供了支持 128 位 long double 类型的单独库。 如果使用任何具有 128 后缀的调用命令 (xlc++128xlc128cc128xlc++128_rxlc128_rcc128_r)。 您还可以使用 -lkey 选项手动链接到 128 位版本的库,如下表所示:

缺省值 (64 位) long double 128 位 long double
形式 -l钥匙 选项 形式 -l钥匙 选项
libC.a -lC libC128.a -lC128
libC_r.a -lC_r libC128_r.a -lC128_r

当程序使用 128 位长整型双精度值 (例如,如果单独指定 -qldbl128 ) 时,在没有 128 位版本的库的情况下进行链接可能会产生不可预测的结果。

#pragma options 伪指令必须出现在源文件中的第一个 C 或 C++ 语句之前,并且该选项适用于整个文件。

预定义的宏

  • __LONGDOUBLE128 在 -qldbl128 生效时定义为 1; 否则未定义。
  • __LONGDOUBLE64 在 -qnoldbl128 生效时定义为 1; 在 -qldbl128 生效时未定义。

示例

要编译 myprogram.c 以使长整型双精度类型为 128 位,请输入:
xlc myprogram.c -qldbl128 -lC128

相关信息