-q64
类别
@PROCESS
无。
用途
指示 64 位编译位方式,可与 -qarch 选项一起用于确定将运行 64 位可执行文件的目标机器。
以 64 位对象格式创建对象模块,并生成 64 位指令集。 请注意,您可以在 32 位环境中进行编译以创建 64 位对象,但必须使用 -q64 选项在 64 位环境中链接这些对象。
语法
缺省值
不适用。
规则
- 针对 64 位方式时,将创建 64 位对象模块。
- -q32 可以覆盖 -q64。
- 缺省整数大小和缺省实数大小在 64 位方式下为 4 个字节。
- 缺省整型指针大小在 64 位方式下为 8 个字节。
- 最大数组大小增加到大约 2**40 个字节(在静态存储器中)或 2**60 个字节( 在堆上的动态分配中)。 最大维数界限扩展至 -2**63, 2**63-1。 数组常量的最大数组大小尚未扩展,将保持与最大 32 位方式下的最大值相同。 您可以初始化的最大数组大小为 2**28 个字节。
- 数组构造函数所隐式 DO 循环的最大迭代计数增加到 2**63-1。
- 最大字符可变长度扩展至大约 2**40 个字节。 常量的字符常量和子对象的最大长度保持与 32 位方式下的最大长度相同,即,32767 个字节 (32 KB)。
- LOC 内部返回 INTEGER(8) 值。
示例
此示例针对 64 位方式下的 POWER7:
xlf -qarch=pwr7 -q64
