Oracle® Solaris Studio 12.4:C++ 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

1.2 x86 特殊注意事项

    针对 x86 Oracle Solaris 平台进行编译时,请注意几个重要问题。

  • 编译时 xarch 设置为 –ssesse2sse2asse3 或更高的程序只能在提供这些扩展和功能的平台上运行。

  • 在 Oracle Solaris Studio 12.4 中,缺省指令集和 -xarch=generic 的含义已更改为 sse2。现在,如果在不指定目标平台选项的情况下进行编译,会导致 sse2 二进制与早期的 Pentium III 或早期的系统不兼容。

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

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

  • 因为内部数学库(例如,sin(x))不同,所以 Oracle Solaris 和 Linux 之间的数值结果也会不同。