Sun Studio 12:Fortran 用户指南

3.4.13 –dalign

对齐 COMMON 块和标准数值序列类型,并生成速度更快的多字装入/存储

此标志可更改 COMMON 块、数值序列类型和 EQUIVALENCE 类中的数据布局,并使编译器能够为该数据生成速度更快的多字装入/存储。

数据布局效果与 -f 标志的效果相同:COMMON 块和 EQUIVALENCE 类中的双精度和四精度数据在内存中根据其“自然”对齐方式(即,与 8 字节边界对齐)进行布局;如果在 64 位环境中使用 -m64 进行编译,则四精度数据与 16 字节边界对齐。缺省情况下,按 4 字节边界对齐 COMMON 块中的数据。还允许编译器采用自然对齐方式并生成速度更快的多字装入/存储以引用数据。

在 SPARC 处理器上,如果结合使用 -dalign-xtypemap=real:64,double:64,integer:64,还会导致 64 位整数变量进行双字对齐。


注 –

-dalign 可能导致数据以非标准方式对齐,从而使 EQUIVALENCECOMMON 中的变量出现问题,并可能在需要 -dalign 的情况下使程序变为不可移植。


-dalign 是一个宏,它等效于:

-xmemalign=8s -aligncommon=16(在 SPARC 平台上)

-aligncommon=8(在 32 位 x86 平台上)

-aligncommon=16(在 64 位 x86 平台上)

如果使用 -dalign 编译某个子程序,请使用 -dalign 编译该程序的所有子程序。此选项包含在 -fast 选项中。

请注意,因为 -dalign 调用 -aligncommon,所以此选项还影响标准数值序列类型。请参见3.4.2 –aligncommon[ ={1|2|4| 8|16}]