跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3 发行版的新增功能 Oracle Solaris Studio 12.3 Information Library (简体中文) |
下面列出了此 5.12 发行版中特定于 C++ 编译器的新增和更改的功能。有关详细信息,请参见《Oracle Solaris Studio 12.3:C++ 用户指南》和 CC 手册页。
新编译器选项 —xivdep 设置 ivdep pragma 的解释。ivdep pragma 指示编译器忽略在循环中找到的部分或全部对数组引用的循环附带依赖性,以进行优化。这使得编译器可以执行各种循环优化,如微向量化、分发、软件流水操作等,其他情况下,无法执行这些优化。当用户知道这些依赖性无关紧要或者实际上永远不会发生时,可以使用该指令。
—compat=4 子选项(“兼容模式”)被删除。缺省设置现在为 —compat=5。此外,针对 g++ 源和二进制兼容性的 -compat=g 选项先前仅适用于 Linux 平台,现在也已扩展到 Solaris/x86。
新选项 —features=cplusplus_redef 允许在命令行中通过 —D 选项重新定义以常规方式预定义的宏 __cplusplus。现在仍不允许在源代码中通过 #define 指令重新定义 __cplusplus。此外,此发行版中已废弃对 —features=%none 和 —features=%all 的使用。
新子选项 —xbuiltin=%default 仅内联未设置 errno 的函数。errno 的值在任何优化级别上都始终是正确的,并且可以可靠地检查。
C99 头文件 stdbool.h 和 C++ 等效项 cstdbool 现在可用。在 C++ 中,头文件不起任何作用,提供它们只是为了与 C99 兼容。
新选项 —xanalyze={code| no} 会生成对源代码的静态分析,可使用 Oracle Solaris 代码分析器进行查看。