GCC 5.3 发布,C 的默认模式为 -std=gnu11

ffc8 8年前

GCCGNU Compiler CollectionGNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPLLGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

GCC 原名为 GNU C 语言编译器GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada 与其他语言。

GCC 5.3 发布,此版本是个 bug 修复版本,主要是 GCC 5.2 和之前版本的问题修复。

重要改进:

  • C 的默认模式是 -std=gnu11,代替了 -std=gnu89

  • C++ 运行时库 (libstdc++) 默认使用新 ABI (see below).

  • Graphite 框架的循环优化不再要求 CLooG 库,只需要 ISL 0.14 (recommended) 或者 0.12.2

  • 非标准 C++0x 类型特征 has_trivial_default_constructor, has_trivial_copy_constructorhas_trivial_copy_assign 已经被废弃,而且在以后的版本会移除。 可以使用标准 C++11 特征is_trivially_default_constructible, is_trivially_copy_constructibleis_trivially_copy_assignable should be used instead.

  • 在 AVR,支持设备 ATtiny4/5/9/10/20/40,要求 Binutils 2.25+

  • AVR port 使用一个新模式来描述支持的设备  feature #44574.

详细改进请看发行说明