Sun Studio 12:Fortran 用户指南

3.4.57 –m32 | –m64

为已编译的二进制对象指定内存模型。

使用 -m32 创建 32 位可执行文件和共享库。使用 -m64 创建 64 位可执行文件和共享库。

在所有 Solaris 平台以及未启用 64 位的 Linux 平台上缺省为 ILP32 内存模型(32 位 int、long 和指针数据类型)。在启用了 64 位的 Linux 平台上缺省为 LP64 内存模型(64 位 long 和指针数据类型)。-m64 仅允许在启用了 LP64 模型的平台上使用。

使用 -m32 编译的目标文件或库不能同使用 -m64 编译的目标文件或库链接。

当编译具有大量静态数据的应用程序时,可能还需要使用 -m64、-xmodel=medium

请注意,部分 Linux 平台不支持中等模型。

注意,在以前的编译器发行版中,通过选择带有 -xarch 的指令集来实现内存模型 ILP32 或 LP64 。从 Sun Studio 12 编译器开始,不再存在这种情况。在大多数平台上,仅需向命令行添加 -m64 即可创建 64 位对象。

在 Solaris 上,缺省为 -m32。在支持 64 位程序的 Linux 系统上,缺省为 -m64 -xarch=sse2