-qldbl128 和 -qlongdouble
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qldbl128, -qlongdouble | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
#pragma 选项 [no]ldbl128
用途
将 long double 类型的大小从 64 位增加到 128 位。
语法
缺省值
-qnoldbl128
使用量
提供了支持 128 位 long double 类型的单独库。 如果使用任何具有 128 后缀的调用命令 (xlc++128, xlc128, cc128, xlc++128_r, xlc128_r, 或 cc128_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
