C/C++编译器 GCC 默认 C++ 17

GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。

GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada、Go语言前端等,也包括了这些语言的库(如libstdc++,libgcj等。)。 GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由 。

GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台。

GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)

GCC 11 会将默认前端语言从 C++14 变更为 C++ 17

C/C++编译器 GCC 默认 C++ 17_第1张图片

从 GCC 9 开始,对 C++ 17 的支持已经不再是实验性质,C++ 前端实现了完整的 C++ 17 语言,并且 C++ 标准库支持几乎也完成

GCC 11 源码中已经将 C++ 17 更改为默认前端语言。C++ 17 有许多新的特性,包括:删除 trigraphs、在模板参数中允许使用 typename(作为替代类)、来自 braced-init-list 的新规则用于自动推导、UTF-8 字符文字与一些用于对齐内存分配的扩展等,迁移到 C++ 17 对于 GCC 与开发者来说有众多优势

你可能感兴趣的:(编程语言)