本月初就有消息称 GCC 5 将在本月晚些时候发布,今天开源编译器 GCC 项目组直接跳过了5.0,发布了GCC 5.1,同样是大量新特性和Bug修复。
- C编译器默认使用-std=gnu11而不是-std=gnu89;
- 默认情况下,libstdc++ 库默认使用了全新的ABI;(详见发行说明的Runtime Library (libstdc++)一栏)
- Graphite loop optimizations 不再需要 CLooG 库,只支持ISL 0.14(推荐) 或者 0.12.2,安装手册中都有详细说明;
- 非标准版的 C++0x traits has_trivial_default_constructor, has_trivial_copy_constructor 和 has_trivial_copy_assign 已弃用,在接下来的版本中将移除,标准化的 C++11 traits is_trivially_default_constructible, is_trivially_copy_constructible 和 is_trivially_copy_assignable来取代;
- libstdc++ 库完整支持 C++11,实验性支持 C++14;
- 完整支持多线程实现OpenMP 4.0;
- C 和 C++支持英特尔的 Cilk Plus并行编程接口;
- 完整支持 Go 1.4;
- 支持ARM Cortex-A72和 Cortex-A17;
- 初步支持 Just-In-Time (JIT)编译;
- 正式支持DragonFlyBSD。
此外还有许多编译优化等等。
其它诸多特性及详情请点击这里查看发行说明。
点击这里查看HackerNews的讨论。
关于GCC
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。 GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。
GCC 原名为 GNU C 语言编译器(GNU C Compiler) ,因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
延伸阅读:
- SCO下用gcc编译调用mysql数据库的程序