Go to main content

Oracle® Developer Studio 12.6 发行版的新增功能

退出打印视图

更新时间: 2017 年 7 月
 
 

编译器中的更改

以下部分介绍编译器中的更改,包括以下主题:

编译器通用的新增和更改的功能

下面列出了自上一发行版起对 C、C++ 和 Fortran 编译器进行的更改。可在编译器手册页中找到详细信息。特定于 C++ 编译器的更改已在C++ 编译器中进行了详细介绍。特定于 C 编译器的更改已在C 编译器中进行了详细介绍。

GCC 兼容选项 –fvisibility

–fvisibility=v 选项等效于 –xldscope 选项,如下所示:

–fvisibility 选项
等效的 –xldscope 选项
default
global
internal
hidden
protected
symbolic
hidden
hidden

GCC 兼容选项 –shared

在 Oracle Developer Studio 12.6 中,–shared 选项与 GCC 兼容。–shared 选项创建共享库,类似于 –G 选项。缺省情况下,–shared 选项将链接在创建可执行程序时将链接的同一批库,而 –G 选项不会自动链接缺省库。在以前的发行版中,–shared 选项等效于 –G 选项。

新命令选项

下面的列表介绍了所有编译器共有的新命令选项。

  • 适用于 SPARC M8/T8 的新选项-xchip-xtarget 值现在可用于 SPARC M8/T8 系统。

  • 适用于 x86 处理器 Skylake 的新选项-xchip=skylake-xtarget=skylake-xarch=avx512 值现在可用于 Intel Skylake 处理器。

  • Linux 上的缺省选项-Linux 上的缺省选项是 –xannotate

  • 命令选项 –fstrict-aliasing–fno-strict-aliasing 现在可用。

Oracle Solaris 的新宏

新宏 __SUNOS_Release 现在仅可用于 Oracle Solaris。

Oracle Solaris 上的 __SunOS_RELEASE

一个十六进制值 0xRRrrmm,表示 Oracle Solaris 发行版,其中 RR.rr 是 sysinfo (SI_RELEASE) 系统调用或 uname -r 命令的输出,必要时添加前导零。mm 位保留供将来可能推出的宏发行版使用。所有数位都是十进制的。

例如,Oracle Solaris 11 是 SunOS 5.11,因此 __SunOS_RELEASE 具有值 0x051100。

较旧 Oracle Solaris 发行版的 __SunOS_RELEASE 值始终小于更高发行版的值。例如,

#if __SunOS_RELEASE >= 0x051100 // Solaris 11 or later

编译器的内联行为

在 -O3 级别,Studio 编译器会自动内联其正文小于调用方开销的例程。要控制自动内联的函数,请使用 -xinline=list 选项。

压缩调试节

可以通过 -xcompress=debug 选项使用由 -xcompress_format 选项指定的格式来压缩调试节。还添加了对等效 gcc 选项 -gz 的支持。

-xdebugformat=stabs 选项

–xdebugformat=stabs 选项已删除。

Fortran 编译器

Fortran 编译器通过针对 Fortran77、Fortran90 和 Fortran95 标准的创纪录运行时性能和兼容性选项来支持技术和科学应用程序开发。包括大多数 Fortran 2003 功能和 OpenMP 4.5 支持。Fortran 编译器与 C 和 C++ 编译器使用相同的高性能代码生成技术,从而确保结果应用程序为最新的基于 SPARC 和 x86 的 Oracle 系统生成最高性能的并行代码。

Fortran 编译器的更改包括编译器通用的新增和更改的功能中介绍的更改,以及以下更改:

  • 不再支持 Fortran 全局程序检查 (global program checking, GPC)。

  • 现在支持 Fortran 2003 标准中引入的参数化派生类型。

有关更多信息,请参见 f95(1) 手册页和Oracle Developer Studio 12.6: Fortran User’s Guide