使 Dev-C++ 支持至 C++20 标准
前言
Dev-C++ 自 2015 年 5.11 版本后官方已 10 年未更,其内置的远古编译器仅支持到 C++11。如果 OIer 们 需要使用 C++11 以上标准的新特性,此时就需为 Dev-C++ 配置新的编译器。
下载 GCC 编译器
这里选择的是 TDM-GCC 10.3.0 编译器。
-
GitHub 直链下载:https://github.com/jmeubank/tdm-gcc/releases/download/v10.3.0-tdm64-2/tdm64-gcc-10.3.0-2.exe/
-
某奏云下载(密码: 5ose):https://wwzy.lanzoue.com/i8HT02pzdr3g/
安装 TDM-GCC 10.3.0
-
选择模式
打开安装程序后选择 Create ,由于国内网络原因 “Check for updated files on the TDM-GCC sever” 大多数时候用不了,所以最好关闭。
-
安装过程
建议保持默认,若有需求可自行选择安装路径,各组件。
完整安装需要约 507MB 存储空间。
进入 Dev-C++ 配置
- 进入配置页面
在上方工具条点击工具,然后找到编译选项并点击,在弹出页面中点击添加新编译器配置,随后命名任意。
-
添加目录
所需目录都在安装的 TDM-GCC-64 路径下。
-
配置程序
访问 TDM-GCC-64 路径下的 bin 文件夹,在此文件夹中找到每个选项所对应的可执行文件(exe),如图:
-
配置完毕
最后点击下方确定完成配置。
编译运行测试
-
语言标准
如下命令设置语言标准为 C++20:
-std=c++20
-
代码编译
一段含有 C++20 语法的代码:
#include <iostream>
#include <compare>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
auto result = a <=> b;//三路比较运算符
if (result == 0) {
cout << "a == b" <<'\n';
}else if(result < 0) {
cout << "a < b" <<'\n';
}else{
cout << "a > b" <<'\n';
}
//比较两个 INT 整型数据大小
return 0;
}
-
运行结果
如下图,输入两个大小不同的 INT 整型数据,输出比较结果,
肉眼可见的输出正确。
总结
-
至此,Dev-C++ 已能支持至 C++20 标准。
-
注意,TDM-GCC 10.3.0 并部分支持 C++20 所有特性,但已完全支持至 C++17(若需完整 C++20 特性,建议使用更高版本编译器,如 GCC 13+)。