Sun Studio 12:C 用户指南

6.1 基本模式

ISO C 编译器允许同时使用旧式和新式 C 代码。如果您使用下列 -X(注意大小写)选项并且 -xc99=none,则编译器提供不同的 ISO C 标准一致性级别。-Xa 为缺省模式。请注意,编译器的缺省模式为 -xc99=all,因此在设置每个 -X 选项的情况下编译器的行为取决于 -xc99 的设置。

6.1.1 -Xc

c = 一致性)在没有 K&R C 兼容性扩展的情况下,在最大程度上与 ISO C 一致。编译器对使用 ISO C 构造的程序发出错误和警告。

6.1.2 -Xa

ISO C 以及 K&R C 兼容性扩展,具有 ISO C 要求的语义更改。如果 K&R C 和 ISO C 为相同构造指定不同语义,则编译器发出关于冲突的警告并使用 ISO C 解释。这是缺省模式。

6.1.3 -Xt

t = 转换)ISO C 以及 K&R C 兼容性扩展,没有 ISO C 要求的语义更改。如果 K&R C 和 ISO C 为相同构造指定不同语义,则编译器发出关于冲突的警告并使用 K&R C 解释。

6.1.4 -Xs

(s = K&R C) 编译的语言包括与 ISO K&R C 兼容的所有功能。编译器对在 ISO C 和 K&R C 之间具有不同行为的所有语言构造发出警告。