所有Gcc版本对C和C++的支持情况(超详细版本)

这篇具有很好参考价值的文章主要介绍了所有Gcc版本对C和C++的支持情况(超详细版本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在最近接触的新的项目,由于技术使用为C98风格实现,遇到一个问题需要加锁解决,本能反应用lock_gurad+mutex解决,但是没设置CFLAGS为C++11标准,不确定当前gcc编译器默认支持的C和C++标准是什么,索性就一把都研究透彻,方便后面查看和使用。纯手工一个一个查找标准对照的,十分耗时,多谢支持。

1、查看当前GCC的版本

首先要确认自己编译环境当前安装的gcc版本。

通过gcc --version查看,我自己电脑的编译版本如下:

所有Gcc版本对C和C++的支持情况(超详细版本)

2、支持版本的对应查找

然后到GCC官网(GCC Releases- GNU Project)查看对应的默认支持版本:

所有Gcc版本对C和C++的支持情况(超详细版本)

所有Gcc版本对C和C++的支持情况(超详细版本)

所有Gcc版本对C和C++的支持情况(超详细版本)

所有Gcc版本对C和C++的支持情况(超详细版本)

所有Gcc版本对C和C++的支持情况(超详细版本)

所以默认支持版本是C17标准

3、GCC所有版本支持C++和C语言情况

版本

发布时间

默认支持C标准

默认支持C++标准

GCC 13.1

April 26, 2023

C17

C++17

GCC 12.2

August 19, 2022

C17

C++17

GCC 10.4

June 28, 2022

C17

C++14

GCC 9.5

May 27, 2022

C17

C++14

GCC 12.1

May 6, 2022

C17

C++14

GCC 11.3

April 21, 2022

C17

C++17

GCC 11.2

July 28, 2021

C17

C++17

GCC 9.4

June 1, 2021

C17

C++14

GCC 8.5

May 14, 2021

C17

C++14

GCC 11.1

April 27, 2021

C17

C++17

GCC 10.3

April 8, 2021

C17

C++14

GCC 10.2

July 23, 2020

C17

C++14

GCC 10.1

May 7, 2020

C17

C++14

GCC 9.3

March 12, 2020

C17

C++14

GCC 8.4

March 4, 2020

C17

C++14

GCC 7.5

November 14, 2019

C11

C++14

GCC 9.2

August 12, 2019

C17

C++14

GCC 9.1

May 3, 2019

C17

C++14

GCC 8.3

February 22, 2019

C17

C++14

GCC 7.4

December 6, 2018

C11

C++14

GCC 6.5

October 26, 2018

C11

C++98

GCC 8.2

July 26, 2018

C17

C++14

GCC 8.1

May 2, 2018

C17

C++14

GCC 7.3

January 25, 2018

C11

C++14

GCC 5.5

October 10, 2017

C11

C++98

GCC 7.2

August 14, 2017

C11

C++14

GCC 6.4

July 4, 2017

C11

C++14

GCC 7.1

May 2, 2017

C11

C++14

GCC 6.3

December 21, 2016

C11

C++14

GCC 6.2

August 22, 2016

C11

C++14

GCC 4.9.4

August 3, 2016

C90

C++98

GCC 5.4

June 3, 2016

C11

C++98

GCC 6.1

April 27, 2016

C11

C++14

GCC 5.3

December 4, 2015

C11

C++98

GCC 5.2

July 16, 2015

C11

C++98

GCC 4.9.3

June 26, 2015

C90

C++98

GCC 4.8.5

June 23, 2015

C90

C++98

GCC 5.1

April 22, 2015

C90

C++98

GCC 4.8.4

December 19, 2014

C90

C++98

GCC 4.9.2

October 30, 2014

C90

C++98

GCC 4.9.1

July 16, 2014

C90

C++98

GCC 4.7.4

June 12, 2014

C90

C++98

GCC 4.8.3

May 22, 2014

C90

C++98

4、GCC对C++版本迭代支持情况

C++版本

GCC版本支持情况

GCC版本

指定版本的命令标志

C++98

完全支持

从GCC6.1之前版本的默认模式

-std=c++98 or std=gnn++98

C++11

完全支持

从GCC4.8.1版本完全支持

-std=c++11 or std=gnu++11

C++14

完全支持

从GCC6.1版本开始完全支持,从6.1-10(包括)的默认模式

-std=c++14 or std=gnu++14

C++17

完全支持

从GCC 5版本开始支持,到GCC 7版本已完全支持,是GCC 11到13版本的默认模式

-std=c++17 or std=gnu++17

C++20

未完全支持

从GCC 8版本开始支持

-std=c++20 or

std=gnu++20(GCC 9以及之前版本使用-std=c++2a)

C++23

未完全支持(标准开发中)

从GCC 11版本开始支持

-std=c++2b or

std=gnu++2b文章来源地址https://www.toymoban.com/news/detail-457244.html

到了这里,关于所有Gcc版本对C和C++的支持情况(超详细版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 编译安装支持CUDA的OpenCV+其他opencv细节(需要特定版本gcc)

    在安装完“ linux CUDAtoolkit+cudnn+tensorrt 的安装”之后进行支持cuda的opencv安装 否则报错:CMake Error at modules/dnn/CMakeLists.txt:41 (message): DNN: CUDA backend requires CUDA Toolkit. Please resolve dependency or disable OPENCV_DNN_CUDA=OFF - $ nvcc -v ----- Command \\\'nvcc\\\' not found, but can be installed with: sudo apt install nvid

    2024年02月15日
    浏览(42)
  • linux升级gcc版本详细教程

    一般linux操作系统默认的gcc版本都比较低,例如centos7系统默认的gcc版本为4.8.5。gcc是从4.7版本开始支持C++11的,4.8版本对C++11新特性的编译支持还不够完善,因此如果需要更好的体验C++11以及以上版本的新特性,需要升级gcc到一个较高的版本。 本文给出了linux系统中涉及国家g

    2024年02月03日
    浏览(33)
  • 超详细JDK1.8所有版本下载地址

    JDK1.8即为JDK8,JDK8是目前是最成熟最稳定的版本,本文将详细介绍JDK所有历史版本的找寻方式,并详细介绍JDK1.8历史版本的找寻及下载。 超详细JDK1.8安装与配置 首先打开oracle官网,官网首页地址为 JDK官网首页地址 点击 Products 点击 Java 点击 Download Java 点击 Java archive 下划即可

    2023年04月08日
    浏览(29)
  • [ vscode + clangd + gcc + gdb + cmake] 一文带你构造C/C++开发环境 #支持嵌入式开发 #超详细 #小白

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:本节讲解了为什么需要配置这样一套开发环境,可以跳过 本文力求通俗、详细的讲解 C程序开发 环境配置。深入浅出的讲解以及大量的图片对小白更友好。看完本文你将得到一套 vscode + gcc + gdb

    2024年02月20日
    浏览(35)
  • MySQL教程(适用于所有版本,非常详细,不懂就问)

    对于第一次安装mysql是有点难度,现在我会把安装流程搞出来。 MySQL Installer 8.0.33安装(不想安装这个版本,在点进去可以改):直达通道 点击离线安装进入教程下一步 点击继续进入下一步 网页安装被限速了,建议下迅雷,迅雷贼快,只有复制安装地址打开迅雷就会自动跳出

    2024年02月11日
    浏览(30)
  • MSVC (Visual C++) 对于ISO C99, C11, C17 等语言标准的支持情况

    Visual Studio 2013首次引入C99的语言特性和库函数的支持,但只支持有限的语言特性: _Bool Compound literals. Designated initializers. Mixing declarations with code. Visual Studio 2015实现了基本所有的库函数支持 参考: C99 library support in Visual Studio 2013 - C++ Team Blog Visual C++ What’s New 2003 through 2015 |

    2024年02月04日
    浏览(31)
  • Thinkphp获取项目最近更改变动的所有文件

    导读: 企业级的网站项目都是要不断优化迭代更新的,做为一名后端程序员,在编写更新模块时,如何能快速获取最近修改的文件,然后打包压缩成更新补丁呢?我们先来看一下最终效果图:  步骤: 一、在extend扩展目录创建一个名为 ChangesFile.php 的文件,代码如下: 二、

    2023年04月26日
    浏览(33)
  • linux如何查看编译器支持的C++版本(支持C++11、支持C++14、支持C++17、支持C++20)(编译时不指定g++版本,默认使用老版本编译)

    C++11 C++11是一个重要的C++标准版本,于2011年发布。C++11带来了许多重要的改进,包括: 智能指针:引入了shared_ptr和unique_ptr等智能指针,用于更好地管理动态内存分配。 新的循环语句:引入了for循环中的范围语法,以更简洁的方式遍历容器。 初始化列表:允许使用初始化列表

    2024年02月02日
    浏览(29)
  • Windows命令创建用户,支持Windows Server或者Win10所有版本,可以在命令中实现自定义用户最全参数,自己运维经验,全部可用有效

    使用PowerShell创建用户可以带上更多的参数,缺点就是用户密码只能设置一样的。 1、设置用户统一的密码 $Password = Read-Host -AsSecureString 注意 :执行这条命令后要输入密码!!! 2、新建用户,可以附带用户详细参数 New-LocalUser \\\"用户名\\\" -Password $Password -FullName \\\"用户全名\\\" -Descr

    2024年02月11日
    浏览(38)
  • 检测并批量导出项目文件中所有最近修改文件的实用工具

    本篇文章主要讲解工具的使用和操作教程,这是一个能够检测项目内最近修改的文件并保留路径导出文件的实用工具。 日期:2024年1月10日 这是一款可以帮助你自动检测并导出指定文件修改时间内的文件及文件目录的实用工具,在复杂的项目目录中有一天团队修改了很多文件

    2024年01月24日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包