如何查看g++最高支持到C++的哪个版本

2025年3月13日,周四晚上


要查看当前安装的 g++ 编译器支持的最高 C++ 版本,可以通过以下方法实现:


1. 查看 g++ 版本

首先通过命令获取当前 g++ 的版本号:

g++ --version

或更详细的构建信息:

g++ -v

输出示例(假设当前版本为 GCC 11.4):

g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
...

2. 对照 GCC 版本与 C++ 标准支持

根据 GCC 版本号,参考官方支持列表:
C++98:GCC 3.4+ 默认支持。
C++11:GCC 4.8.1+ 完全支持。
C++14:GCC 6.1+ 完全支持(默认模式到 GCC 10)。
C++17:GCC 8+ 完全支持(GCC 11 起为默认模式)。
C++20:GCC 8+ 开始实验性支持,GCC 11+ 支持更多特性。
C++23:GCC 13+ 提供实验性支持(需手动启用)。

例如,若你的 g++ 版本是 11.4,则默认支持 C++17,支持 C++20 的大部分特性,并能通过实验性标志尝试 C++23 部分功能。


3. 通过编译选项测试支持性

使用 -std= 标志尝试不同标准,观察是否报错:

g++ -std=c++20 -dM -E -x c++ /dev/null | grep __cplusplus

输出示例:

#define __cplusplus 202002L  # 表示支持 C++20

若报错或无法识别 -std=c++20,则说明当前版本不支持该标准。


4. 查看预定义宏 __cplusplus

在代码中输出当前编译器使用的 C++ 标准:

#include <iostream>
int main() {
    std::cout << "C++ version: " << __cplusplus << std::endl;
    return 0;
}

编译并运行:

g++ -std=c++17 test.cpp && ./a.out

输出示例:

C++ version: 201703L  # 对应 C++17

5. 参考官方文档

访问 GCC C++标准支持状态页面 查看最新版本对各标准的支持细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巨龙之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值