ISO C 编译器允许同时使用旧式和新式 C 代码。如果您使用下列 -X(注意大小写)选项并且 -xc99=none,则编译器提供不同的 ISO C 标准一致性级别。-Xa 是缺省模式。请注意,编译器的缺省模式为 -xc99=all,因此在设置每个 -X 选项的情况下编译器的行为取决于 -xc99 的设置。
(c = 一致性)在没有 K&R C 兼容性扩展的情况下,在最大程度上与 ISO C 一致。编译器对使用 ISO C 构造的程序发出错误和警告。
ISO C 以及 K&R C 兼容性扩展,具有 ISO C 要求的语义更改。如果 K&R C 和 ISO C 为相同构造指定不同语义,则编译器发出关于冲突的警告并使用 ISO C 解释。这是缺省模式。
(t = 转换)ISO C 以及 K&R C 兼容性扩展,没有 ISO C 要求的语义更改。如果 K&R C 和 ISO C 为相同构造指定不同语义,则编译器发出关于冲突的警告并使用 K&R C 解释。
(s = K&R C) 编译的语言包括与 ISO K&R C 兼容的所有功能。编译器对在 ISO C 和 K&R C 之间具有不同行为的所有语言构造发出警告。