GCC 编译器发布年表(1987 - 至今) 转自网络信息

GCC 最初代表 GNU C Compiler,但随着支持语言的增多,其含义变为 GNU Compiler Collection。下表概述了其标志性版本的发布时间和主要特性。

主要版本发布日期主要特性和里程碑意义
GCC 1.01987-03-22初始版本,由理查德·斯托曼(Richard Stallman)编写,仅支持C语言。
GCC 2.01992-02-开始支持C++。
GCC 2.951999-07-31一个非常经典、稳定的版本,在很长一段时间内是许多Unix系统的标配。
GCC 3.02001-06-18引入IA-64(Itanium) 架构支持。改进C++标准兼容性。
GCC 3.12002-05-15引入对 Java(GCJ) 和 .NET(CIL) 的初步支持。
GCC 4.02005-04-20重写了优化和中间表示架构,引入了 Tree SSA,带来了显著的优化能力提升。
GCC 4.12006-02-28引入了自动向量化器,优化更加成熟。
GCC 4.22007-05-13提供对 C++98 的基本完整支持
GCC 4.32008-03-05开始实验性支持 C++0x(后来的C++11) 的早期特性(如 autonullptr)。
GCC 4.42009-04-21引入了 Graphite 框架,用于高级循环优化。
GCC 4.52010-04-14改进链接时优化(LTO)的支持。
GCC 4.62011-03-25引入了 -std=c++0x 选项,提供了大部分C++11特性的初步支持。
GCC 4.72012-03-22第一个完全支持C++11的GCC版本(除了<thread>等少量库特性)。
GCC 4.82013-03-22第一个完整支持C++11(包括所有标准库特性)的版本。同时开始支持C++11的正则表达式。成为许多Linux发行版(如RHEL 7/CentOS 7)的默认编译器,影响深远。
GCC 4.92014-04-22大幅改进对 C++14 的支持,并引入了 OpenMP 4.0 的支持(包括卸载到加速器)。
GCC 5.12015-04-22默认标准改为 C++14几乎完全支持C++14。引入了新的libstdc++ ABI_GLIBCXX_USE_CXX11_ABI),更好地兼容C++11标准。
GCC 6.12016-04-27默认标准改为 C++14基本完全支持C++17(当时还叫C++1z)的绝大多数特性。改进了对 C++ Concepts 的实验性支持。
GCC 7.12017-05-02默认标准改为 C++14。提供了对 C++17 的完整支持。引入了 AddressSanitizer 对内存泄漏的检测。
GCC 8.12018-05-02默认标准升级为 C++14。改进了性能、诊断信息(错误提示更友好)。开始实验性支持 C++2a(后来的C++20) 特性(如 Concepts)。
GCC 9.12019-05-03默认标准改为 C++14。继续完善 C++2a 支持,并引入了对 D语言 的初步支持。
GCC 10.12020-05-07默认标准升级为 C++14完全支持C++2a(即C++20) 的核心语言特性(库特性尚未完全)。引入了 静态分析器(-fanalyzer,可以在编译时发现一系列潜在bug。
GCC 11.12021-04-27默认标准改为 C++17完整支持C++17,并大幅完善了 C++20 的库支持。改进了对 C++23 的实验性支持。
GCC 12.12022-05-06默认标准改为 C++17基本完全支持C++20 和 C++23 的许多新特性。显著改进了 AMD Zen 架构的优化。
GCC 13.12023-04-26默认标准改为 C++17近乎完全支持C++20,并提供了大量 C++23 特性。改进了对 RISC-V 架构的支持。
GCC 14.1预计 2024年(开发中) 将继续推进对 C++23 的完全支持,并开始实验性引入 C++26 的特性。

总结与关键里程碑

  1. C++98 支持:GCC 3.0 开始努力,GCC 4.2 左右基本完备。

  2. C++11 支持

    • GCC 4.3 - 4.6:实验性/部分支持。

    • GCC 4.7:核心语言基本支持。

    • GCC 4.8第一个完全支持C++11(核心语言+标准库)的版本,这是一个极其重要的里程碑。

  3. C++14 支持

    • GCC 4.9:大部分支持。

    • GCC 5.1完全支持C++14

  4. C++17 支持

    • GCC 6.1 - 7.1:逐步完善。

    • GCC 7.1完全支持C++17

  5. C++20 支持

    • GCC 8 - 10:逐步引入和完善。

    • GCC 10.1:核心语言基本完备。

    • GCC 11.1 - 12.1:标准库支持趋于完善。

  6. 默认标准变更

    • GCC 5.x 之前:默认 -std=gnu++98

    • GCC 6.x - 10.x:默认 -std=gnu++14

    • GCC 11.x - 至今:默认 -std=gnu++17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值