Sun Studio 12 Update 1:C++ 用户指南

A.2.7 –compat[={4|5}]

设置编译器的主要发行版兼容模式。此选项控制 __SUNPRO_CC_COMPAT__cplusplus 宏。

C++ 编译器有两个主要模式。兼容模式接受 4.2 编译器所定义的 ARM 语义和语言。标准模式接受符合 ANSI/ISO 标准的构造。由于 ANSI/ISO 标准在名称损坏、虚函数表布局和其他 ABI 详细信息中强制进行显著的不兼容的更改,所以这两个模式是互相不兼容的。这两个模式由 –compat 选项进行区分,下文中介绍了相应值。

A.2.7.1 值

-compat 选项可以有下列值。

值 

含义  

–compat=4

(兼容模式)设置语言和二进制使其与 4.0.1、4.1 和 4.2 编译器兼容。将 __cplusplus 预处理程序宏和 __SUNPRO_CC_COMPAT 预处理程序宏分别设置为 1 和 4。

–compat=5

(标准模式)设置语言和二进制使其与 ANSI/ISO 标准模式兼容。将 __cplusplus 预处理程序宏和 __SUNPRO_CC_COMPAT 预处理程序宏分别设置为 199711L 和 5。

缺省值

如果没有指定 –compat 选项,则假定 –compat=5

如果仅指定 –compat,则假定 –compat=4

交互

在兼容模式 (-compat[=4]) 下,不能使用标准库。

–compat[=4] 不能与下列任何选项一起使用。

–compat=5 不能与下列任何选项一起使用。

警告

生成共享库时,不要使用 -Bsymbolic

另请参见

C++ 迁移指南