C/C++编译器版本整理

GCC/G++对标准的支持

表头(行):各个编译标准的名称
表头(列):GCC /G++版本

表格:为 -std 可用的值,例如 -std=c89、-std=c11、-std=gnu90 
 有些版本对应的同一编译标准有 2 种表示方式,例如对于 8.4~10.1 版本的 GCC 编译器来说,-std=c89 和 -std=c90 是一样的,使用的都是 C89/C90 标准。另外,GCC 编译器还有其他版本,读者可查阅 GCC文档获得相关信息。

表 1 不同GCC版本支持的C语言编译标准
GCC 版本C语言常用标准
C89/C90C99C11C17GNU90GNU99GNU11GNU17
10.1 ~ 8.4c89 / c90c99c11c17/c18gnu90/gnu89gnu99gnu11gnu17/gnu18
7.5 ~ 5.5c89/c90c99c11gnu90/gnu89gnu99gnu11
4.9.4 ~ 4.8.5c89/c90c99c11gnu90/gnu89gnu99gnu11
4.7.4c89/c90c99(部分支持)c11(部分支持)gnu90/gnu89gnu99(部分支持)gnu11(部分支持)
4.6.4c89/c90c99(部分支持)c1x(部分支持)gnu90/gnu89gnu99(部分支持)gnu1x(部分支持)
4.5.4c89/c90 c99(部分支持)gnu90/gnu89gnu99(部分支持)
表 2 不同GCC版本支持的C++编译标准
G++ 版本C++常用标准
C++98/03C++11C++14C++17GNU++98GNU++11GNU++14GNU++17
10.1 ~ 8.4c++98/c++03c++11c++14c++17gnu++98/gnu++03gnu++11gnu++14gnu++17
7.5 ~ 5.5c++98/c++03c++11c++14c++1z(部分支持)gnu++98/gnu++03gnu++11gnu++14gnu++1z(部分支持)
4.9.4 ~ 4.8.5c++98/c++03c++11c++1y(部分支持)gnu++98/gnu++03gnu++11gnu++1y(部分支持)
4.7.4c++98c++11(部分支持)gnu++98gnu++11(部分支持)
4.6.4c++98c++0x(部分支持) gnu++98gnu++0x(部分支持)
4.5.4c++98c++0x(部分支持) gnu++98gnu++0x(部分支持)

UBUNTU升级gcc、g++版本

Ubuntu18默认是g++7,不支持c++17标准,因此升级到g++10.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

sudo apt-get install gcc-10 g++-10

cd /usr/bin

sudo rm gcc g++

sudo ln -s gcc-10 gcc

sudo ln -s g++-10 g++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值