Sun Studio 12 Update 1:C++ 用户指南

A.2.106 -xaddr32

仅限 Solaris x86/x64-xaddr32=yes 编译标志将生成的可执行文件或共享对象限定于 32 位地址空间。

以此方式编译的可执行文件导致创建的进程限定于 32 位地址空间。

指定 -xaddr32=no 时,会生成常见的 64 位二进制文件。

如果未指定 -xaddr32 选项,则假定 -xaddr32=no

如果仅指定了 -xaddr32,则假定 -xaddr32=yes

此选项仅适用于 -m64 编译,以及仅适用于支持 SF1_SUNW_ADDR32 软件功能的 Solaris 平台。由于 Linux 内核不支持地址空间限制,因此在 Linux 上此选项不可用。

链接时,如果使用 -xaddr32=yes 编译了单个目标文件,则假定使用 -xaddr32=yes 编译整个输出文件。

限定于 32 位地址空间的共享对象必须由受限的 32 位模式地址空间中执行的进程装入。

有关更多信息,请参阅《链接程序和库指南》中所述的“SF1_SUNW_ADDR32 软件功能定义”。