C 编译器的更改包括编译器通用的新增和更改的功能中介绍的更改,以及以下更改:
新的编译器选项如下:
–fcommon 和 –fno-common
–features=[no%]gcc_enums
–fexceptions
–fsemantic-interposition
–fno-semantic-interposition
–fshort-enums
–fvisibility
–shared
–std=gnu11 -std=gnu99 -std=gnu90 -std=gnu89 -std=c90 和等效别名
新的 lint 选项如下:
–features=[no%]gcc_enums
–fshort-enums
与提高的 gcc 兼容性关联的功能如下:
类型中大小为零的结构
__builtin_offsetof 内部函数
__builtin_expect 内部函数
接受续行符(反斜杠 \)后的空格
正确处理 BOM 字符
在 –fshort-enums 选项下允许 char 和 short 枚举
通过 –features=[no%]gcc_enums 允许 unsigned int 枚举
通过 –features=[no%]gcc_enums 允许 long 和 unsigned long 枚举
枚举上允许 packed 属性
支持的新属性如下:
__packed__
section(…)
增加了 __cpuid 内部函数
增加了对 C11 字符串文字 u8""、u"" 和 U"" 的支持
有关更多信息,请参见 cc(1) 手册页和Oracle Developer Studio 12.6: C User’s Guide。