Sun Studio 12:C++ 用户指南

x86 特别说明

以下是针对 x86 Solaris 平台进行编译时应了解的一些重要问题。

传统的 Sun 样式并行程序在 x86 上不可用。请改用 OpenMP。有关将传统并行指令转换为 OpenMP 的信息,请参见《Sun Studio 12: OpenMP API User’s Guide》

-xarch 设置为 ssesse2sse2asse3 编译的程序必须在提供这些扩展和功能上的平台上运行。

从 Solaris 9 4/04 开始的操作系统发行版在 Pentium 4 兼容的平台上支持 SSE/SSE2。早期版本的 Solaris 操作系统不支持 SSE/SSE2。如果运行的 Solaris 操作系统未启用由 -xarch 选择的指令集,则编译器将无法为该指令集生成或链接代码。

如果在单独的步骤中编译和链接,请始终使用编译器以及相同的 -xarch 设置进行链接,以确保链接正确的启动例程。

x86 上的数值结果可能与 SPARC 上的结果不同,这是由 x86 80 位浮点寄存器造成的。要最大限度地减少这些差异,请使用 -fstore 选项,或者使用 -xarch=sse2 进行编译(如果硬件支持 SSE2 的话)。

Solaris 和 Linux 的数值结果也可能不同,因为内在的数学库(如 sin(x))并不相同。