Oracle Solaris Studio 12.2:C++ 用户指南

A.2.105 -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 软件功能定义。