Linux GCC & G++:各个版本发行年份及新增特性盘点

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3058

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录
GCC盘点
GCC 4.0
GCC 4.1
GCC 4.2
GCC 4.3
GCC 4.4
GCC 4.5
GCC 4.6
GCC 4.7
GCC 4.8
GCC 4.9
GCC 5.0
GCC 6.0
GCC 7.0
GCC 8.0
GCC 9.0
GCC 10.0
GCC 11.0
GCC 12.0
GCC 13.0
GCC稳固版本
GCC 4.8
GCC 4.9
GCC 5.0
GCC 6.0
GCC 7.0
GCC 8.0
GCC 9.0
GCC 10.0
G++盘点
1. G++ 1.x 系列
2. G++ 2.x 系列
3. G++ 3.x 系列
4. G++ 4.x 系列
5. G++ 5.x 系列
6. G++ 6.x 系列
7. G++ 7.x 系列
8. G++ 8.x 系列
9. G++ 9.x 系列
10. G++ 10.x 系列
11. G++ 11.x 系列
12. G++ 12.x 系列
13. G++ 13.x 系列
GCC
概述
特点
G++
概述
特点
区别


GCC(GNU Compiler Collection)的版本和发布年份信息如下:
GCC盘点

1.01987
1.11988
1.21988
1.31989
1.41989
1.51990
2.01992
2.11992
2.21992
2.31993
2.41994
2.51993
2.61994
2.71995
2.81997
2.91998
3.02001
3.12002
3.22002
3.32003
3.42004
4.02005
4.12006
4.22007
4.32008
4.42009
4.52010
4.62011
4.72012
4.82013
4.92014
5.02015
6.02016
7.02017
8.02018
9.02019
10.02020
11.02021
12.02022
13.02023

GCC 4.0

发布年份:2005


  • 优化:引入新的优化框架,包罗 SSA (Static Single Assignment) 和新的优化器。
  • 前端:改进了 C++ 和 Fortran 前端的支持。
  • 目标平台:新增对 x86-64 和其他架构的支持。
GCC 4.1

发布年份:2006


  • 优化:加强了主动矢量化 (auto-vectorization) 支持。
  • 告诫:改进了告诫和错误信息,使其更清楚。
  • C++ 支持:引入了对部门 C++0x 特性的实验性支持。
GCC 4.2

发布年份:2007


  • 并行编程:支持 OpenMP 2.5 标准,加强多线程支持。
  • 告诫:增加了更多的告诫选项和更好的诊断信息。
  • 语言支持:改进了对 C99 和 C++ 标准的支持。
GCC 4.3

发布年份:2008


  • 优化:新增 IPA (Inter-Procedural Analysis) 优化技术。
  • 告诫:新增 -Wconversion 和 -Wstrict-overflow 告诫。
  • 语言支持:加强了对 Fortran 2003 的支持。
GCC 4.4

发布年份:2009


  • 优化:改进了 LTO (Link-Time Optimization) 支持。
  • 语言支持:新增对 C++0x 和 Fortran 2008 特性的支持。
  • 目标平台:改进了对 ARM 和 x86-64 平台的支持。
GCC 4.5

发布年份:2010


  • 优化:进一步改进了 LTO 和并行编译支持。
  • 诊断信息:改进了错误和告诫信息的可读性。
  • 插件:引入插件机制,允许开发者扩展编译器功能。
GCC 4.6

发布年份:2011


  • 优化:改进了主动矢量化和优化器的性能。
  • 语言支持:加强了对 C++11 标准的支持。
  • 目标平台:新增对多种嵌入式平台的支持。
GCC 4.7

发布年份:2012


  • 优化:引入了更多的高条理优化。
  • 语言支持:全面支持 C++11 标准,改进了 Fortran 2003 和 2008 支持。
  • 目标平台:加强了对 ARM 和 PowerPC 平台的支持。
GCC 4.8

发布年份:2013


  • 优化:引入了新的优化技术,如 GIMPLE SSA。
  • 告诫:改进了告诫机制,新增了一些新的告诫选项。
  • 语言支持:进一步加强了 C++11 支持,新增部门 C++14 特性。
GCC 4.9

发布年份:2014


  • 优化:改进了主动矢量化和并行编译技术。
  • 语言支持:引入了更多的 C++14 特性,改进了 Fortran 和 Go 语言支持。
  • 目标平台:加强了对多种嵌入式平台和架构的支持。
GCC 5.0

发布年份:2015


  • 版本编号:从 5.0 开始,版本编号计谋发生了变革。
  • 语言支持:全面支持 C++14,开始支持 C++17 的部门特性。
  • 目标平台:加强了对 ARM、AArch64 和其他嵌入式平台的支持。
GCC 6.0

发布年份:2016


  • 优化:引入更多的高条理优化技术,改进 LTO。
  • 语言支持:增加对 C++17 的部门支持,改进 Fortran 2003 和 2008 的支持。
  • 诊断信息:进一步改进了错误和告诫信息的可读性。
GCC 7.0

发布年份:2017


  • 优化:改进了主动矢量化和并行编译支持。
  • 语言支持:增加对 C++17 的全面支持。
  • 目标平台:加强了对多种架构和嵌入式平台的支持。
GCC 8.0

发布年份:2018


  • 优化:引入更多的优化技术,如改进的 IPA 和 GIMPLE 优化。
  • 语言支持:进一步加强了对 C++17 和 C++20 的部门特性支持。
  • 诊断信息:改进了错误和告诫信息,使其更详细。
GCC 9.0

发布年份:2019


  • 优化:改进了 LTO 和主动矢量化支持。
  • 语言支持:加强了对 C++20 特性的支持。
  • 目标平台:进一步加强了对 ARM 和 RISC-V 平台的支持。
GCC 10.0

发布年份:2020


  • 优化:进一步改进了高条理优化和并行编译技术。
  • 语言支持:引入了更多的 C++20 特性,改进了 Fortran 和 Go 语言支持。
  • 诊断信息:进一步改进了错误和告诫信息的可读性。
GCC 11.0

发布年份:2021


  • 优化:引入更多的主动矢量化和并行编译技术。
  • 语言支持:加强了对 C++20 的全面支持。
  • 目标平台:进一步加强了对多种嵌入式平台和架构的支持。
GCC 12.0

发布年份:2022


  • 优化:改进了 LTO 和其他高条理优化技术。
  • 语言支持:引入了部门 C++23 特性,改进了 Fortran 和 Go 语言支持。
  • 目标平台:加强了对 ARM、RISC-V 和其他平台的支持。
GCC 13.0

发布年份:2023


  • 优化:引入了更多的优化技术,如改进的 GIMPLE 和 SSA 优化。
  • 语言支持:进一步加强了对 C++23 和 C++26 的部门特性支持。
  • 诊断信息:改进了错误和告诫信息,使其更详细和可读。
这些改动和新增功能展示了 GCC 的持续发展和改进,为开发者提供了更强盛的编译器工具链,支持更多的编程语言特性和优化技术。

GCC稳固版本


GCC 4.8

发布时间:2013


  • 稳固性:经过多年的更新和修复,该版本被以为非常稳固。
  • 广泛支持:支持多种架构,包罗 x86、ARM 和 PowerPC。
  • C++11 支持:全面支持 C++11 标准,许多项目在这一时期转向使用 C++11。
  • 广泛采用:许多 Linux 发行版如 Ubuntu 14.04 LTS 默认使用这个版本,增加了其遍及度。
GCC 4.9

发布时间:2014


  • 优化改进:改进了主动矢量化和并行编译技术。
  • C++14 支持:引入了对部门 C++14 特性的支持,加强了对现代 C++ 特性的兼容性。
  • Fortran 和 Go 改进:提高了对 Fortran 和 Go 编程语言的支持。
  • Linux 发行版采用:被许多主流 Linux 发行版如 Debian 8 和 Ubuntu 15.04 采用,进一步推广了该版本的使用。
GCC 5.0

发布时间:2015


  • 重大改进:包罗新版本编号计谋和多个新特性。
  • C++14 和 C++17 支持:全面支持 C++14,并开始支持 C++17 的部门特性。
  • 广泛支持:被许多开发者和项目采用,特别是在必要现代 C++ 特性时。
  • Linux 发行版采用:被广泛应用于多个 Linux 发行版如 Fedora 22 和 Ubuntu 15.10,推动了其遍及。
GCC 6.0

发布时间:2016


  • 优化改进:引入更多高条理优化技术,改进 LTO。
  • C++17 支持:增加了对 C++17 的部门支持,吸引了希望使用最新 C++ 特性的开发者。
  • 广泛采用:被许多 Linux 发行版如 Debian 9 和 Ubuntu 16.04 LTS 采用,增加了其用户基础。
GCC 7.0

发布时间:2017


  • 全面支持 C++17:完备支持 C++17 标准,为使用最新 C++ 特性的项目提供支持。
  • 优化改进:改进了主动矢量化和并行编译技术,提升了编译性能。
  • 目标平台:加强了对多种架构和嵌入式平台的支持。
  • 广泛采用:被 Fedora 26 和 Ubuntu 17.04 等发行版采用,增加了其遍及度。
GCC 8.0

发布时间:2018


  • 优化改进:引入更多的优化技术,如改进的 GIMPLE SSA。
  • C++20 支持:开始支持 C++20 的部门特性,吸引了希望使用最新标准的开发者。
  • 广泛采用:被 Debian 10 和 Ubuntu 18.04 LTS 等主流发行版采用,推动了其广泛使用。
GCC 9.0

发布时间:2019


  • 优化和 LTO 改进:进一步改进了 LTO 和主动矢量化支持。
  • C++20 支持:增加了对 C++20 特性的支持,吸引了现代 C++ 项目。
  • 广泛采用:被 Fedora 30 和 Ubuntu 19.04 等发行版采用,提升了其用户基础。
GCC 10.0

发布时间:2020


  • 全面支持 C++20:为 C++20 标准提供全面支持。
  • 优化技术:引入了更多的高条理优化和并行编译技术。
  • 广泛采用:被 Debian 11 和 Ubuntu 20.04 LTS 等主流发行版采用,增加了其遍及度。
这些版本被广泛使用的缘故原由通常包罗:

  • 稳固性:在发布后经过多次修复和更新,变得非常稳固。
  • 新特性支持:支持新的编程语言标准(如 C++11、C++14、C++17 和 C++20),吸引了希望使用新特性的开发者。
  • 优化性能:引入了许多新的优化技术,提高了编译和运行时性能。
  • 广泛采纳:被主流 Linux 发行版采纳和默认使用,推动了其遍及。
  • 兼容性:支持多种架构和平台,顺应广泛的开发需求。

G++盘点

1. G++ 1.x 系列



  • G++ 1.0 (1987 年 3 月)

    • 特点:首个 G++ 版本,支持根本的 C++ 语言功能。

2. G++ 2.x 系列



  • G++ 2.0 (1992 年)

    • 特点:大幅提升了 C++ 的标准支持,开始支持 C++98 标准的一些特性。

  • G++ 2.95 (1999 年 7 月)

    • 特点:引入了对 ISO C++ 标准(C++98)的初步支持,并改进了模板的处理。

3. G++ 3.x 系列



  • G++ 3.0 (2001 年 6 月)

    • 特点:改进了优化器,支持更多的 ISO C++ 标准特性。

  • G++ 3.4 (2004 年 4 月)

    • 特点:更好地支持了模板元编程,提高了编译器的性能和稳固性。

4. G++ 4.x 系列



  • G++ 4.0 (2005 年 4 月)

    • 特点:引入了新的优化框架 Tree-SSA,改进了编译器的优化本事。

  • G++ 4.7 (2012 年 3 月)

    • 特点:开始部门支持 C++11 标准,如 lambda 表达式和基于范围的 for 循环。

  • G++ 4.8 (2013 年 3 月)

    • 特点:大幅度支持 C++11 标准,大部门新特性都得到了实现。

5. G++ 5.x 系列



  • G++ 5.1 (2015 年 4 月)

    • 特点:开始部门支持 C++14 标准,改进了诊断信息和错误消息。

  • G++ 5.3 (2015 年 12 月)

    • 特点:更全面地支持 C++14 标准,提升了编译器的稳固性和性能。

6. G++ 6.x 系列



  • G++ 6.1 (2016 年 4 月)

    • 特点:开始部门支持 C++17 标准,引入了许多新的编译器告诫和优化。

  • G++ 6.3 (2016 年 12 月)

    • 特点:改进了对 C++17 特性的支持,修复了许多错误。

7. G++ 7.x 系列



  • G++ 7.1 (2017 年 5 月)

    • 特点:更好地支持了 C++17 标准,引入了更多的优化选项和告诫。

  • G++ 7.3 (2018 年 1 月)

    • 特点:进一步改进了对 C++17 的支持,提升了编译器的性能和稳固性。

8. G++ 8.x 系列



  • G++ 8.1 (2018 年 5 月)

    • 特点:全面支持 C++17 标准,开始实验性支持 C++20 特性。

  • G++ 8.3 (2019 年 2 月)

    • 特点:修复了许多错误,进一步改进了对 C++17 和 C++20 特性的支持。

9. G++ 9.x 系列



  • G++ 9.1 (2019 年 5 月)

    • 特点:继续改进对 C++20 标准的实验性支持,引入了更多的优化和告诫。

  • G++ 9.3 (2020 年 3 月)

    • 特点:修复了多个标题,加强了编译器的稳固性。

10. G++ 10.x 系列



  • G++ 10.1 (2020 年 5 月)

    • 特点:更好地支持 C++20 标准,加强了优化选项和告诫信息。

  • G++ 10.2 (2020 年 7 月)

    • 特点:改进了稳固性,修复了多个错误,进一步优化了性能。

11. G++ 11.x 系列



  • G++ 11.1 (2021 年 4 月)

    • 特点:全面支持 C++20 标准,引入了对部门 C++23 特性的实验性支持。

  • G++ 11.2 (2021 年 7 月)

    • 特点:修复了许多标题,进一步加强了编译器的稳固性和性能。

12. G++ 12.x 系列



  • G++ 12.1 (2022 年 5 月)

    • 特点:开始实验性支持 C++23 特性,加强了告诫和诊断信息。

  • G++ 12.2 (2022 年 8 月)

    • 特点:进一步优化了性能,修复了多个错误,加强了对 C++23 的实验性支持。

13. G++ 13.x 系列



  • G++ 13.1 (2023 年 5 月)

    • 特点:继续加强对 C++23 特性的支持,改进了编译器的优化本事和诊断信息。

  • G++ 13.2 (2023 年 8 月)

    • 特点:修复了若干错误,进一步提升了编译器的稳固性和性能。

GCC

概述



  • 全称:GNU Compiler Collection
  • 主要功能:GCC 是一个编译器套件,支持多种编程语言,包罗 C、C++、Fortran、Ada、Go 等。
  • 下令行工具:gcc
特点



  • 多语言支持:不光支持 C 和 C++,还支持多种其他编程语言。
  • 多平台支持:可用于编译差别架构和操作体系上的程序。
  • 编译器优化:提供多种优化选项,提高生成代码的性能。
  • 诊断和调试:提供丰富的诊断和调试信息。
G++

概述



  • 全称:GNU C++ Compiler
  • 主要功能:G++ 是 GCC 的一个前端,用于编译 C++ 程序。
  • 下令行工具:g++
特点



  • C++ 特化:专门针对 C++ 编译进行优化和支持。
  • 主动链接 C++ 库:在编译过程中主动链接 C++ 标准库。
  • C++ 语法和功能支持:全面支持 C++ 标准(如 C++98、C++03、C++11、C++14、C++17、C++20 等)。

区别



  • GCC 是一个多语言编译器套件,支持多种编程语言,包罗 C 和 C++。它实用于必要编译差别语言程序的场景。
  • G++ 是专门用于编译 C++ 程序的编译器,主动处理 C++ 相干的编译和链接步调,简化了 C++ 程序的编译过程。
如何选择二者

使用 gcc 的情况:


  • 纯C语言项目:如果你的项目是用C语言编写的,使用 gcc 更加符合,因为它是GNU编译器集合中专门为编译C语言代码设计的编译器。
  • C文件:当你编译的源文件是 .c 文件时,使用 gcc 是标准做法。
  • 混合语言项目:在必要混合编译C和其他语言(如汇编语言)时,可以通过 gcc 进行得当的调用和链接。
使用 g++ 的情况:


  • C++语言项目:如果你的项目是用C++语言编写的,使用 g++ 更为适合,因为它是GNU编译器集合中专门为编译C++语言代码设计的编译器。
  • C++文件:当你编译的源文件是 .cpp、.cxx、.cc 等文件时,使用 g++ 是标准做法。
  • 标准库链接:g++ 会主动链接C++标准库(如 libstdc++),而 gcc 不会。如果你使用 gcc 来编译C++代码,必要手动链接C++标准库,通常这不是最佳实践。
  • 模板和C++特性:C++代码中的模板和其他特定特性必要 g++ 才能准确处理。使用 gcc 大概会遇到编译错误或链接标题。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表