Dev-C++ 脱胎换骨の方法
2024-08-21 11:33:12
发布于:广东
前言
本文将介绍,在 平台下,如何将本地IDE: Dev-C++ 的编译器升级,使得其能够支持 C++14 后的新特性,让使用了新特性的代码,在 Dev-C++ 上也能够编译通过。
现版本的 Dev-C++ 使用的 版本比较低,一般为 ,这使得一些使用新标准的 C++ 特性的代码无法通过编译,如图:
此代码使用了 C++17 加入的核心功能特性:结构化绑定(structured binding)[1]。
此次特性需要 版本至少为 及以上才能够支持[2],所以这里使用 Dec-C++ 自带的 无法编译此代码。
然而此特性非常重要,极大的方便了诸如 std::pair
,std::map
等容器的访问与遍历,且虽然此特性为 C++17 的特性,但是可以在 及以上通过编译,即使使用的命令行参数为 -std=c++14
。
在目前的 CSP-J/S 中,编译选项为 -O2 -std=c++14 -static
。且 CCF 目前评测机 使用的编译器为 [3],所以此特性 可以在 CSP-J/S 中使用。
在 平台上所使用的编译器版本为 ,所以此特性可以在 上使用。
另外,目前主流的竞赛平台和OJ都已经支持到了 C++20 或 C++23。
所以,给本地的 Dec-C++ 升级,使得其能够支持这些特性,就显得比较重要。
下载最新 GCC 14.2.0
我们可以在 winlibs 上,下载到 平台下,最新版本的 编译器。
这里可以下载到最新的 ,若为 位操作系统,选择 否则选择 。
推荐选择 7-zip archieve 文件大小要比 Zip archieve 更小。
下载完毕后不要立即解压(下载后的压缩包大约为 158MB,但是解压后大小大约为 1.39GB,不方便移动)。推荐将下载后的压缩包放入 盘根目录下(若未分盘可选择 盘),然后使用解压软件,将其 「提取到当前位置」。
完成此步骤后, 盘根目录下应有文件夹 mingw64
,若为 winlibs-x86_64-posix-seh-gcc-14.2.0-llvm-18.1.8-mingw-w64ucrt-12.0.0-r1
则需要进入此文件夹,并将此文件夹下的 mingw64
移动到 盘根目录下即可。
配置 Dec-C++
进入 Dec-C++ 选择 工具->编译选项
。
选择第二个按钮 「添加新编译器设置」
。
输入新编译器名称为 GCC 14.2.0
。
接下来配置 「目录」
中的内容。
1. 添加二进制目录
在这里可以选择直接输入,或者通过文件夹选择。
按照以上步骤,解压的 mingw64
是在 盘根目录的话,这里的路径应为 D:\mingw64\bin
。
输入或选择完毕后,点击 「添加」 即可。
2. 添加库目录
同上一步,在这里可以选择直接输入,或者通过文件夹选择。
按照以上步骤,这里的路径应为 D:\mingw64\lib
。
输入或选择完毕后,点击 「添加」 即可。
3. 添加C包含文件目录
同上一步,在这里可以选择直接输入,或者通过文件夹选择。
按照以上步骤,这里的路径应为 D:\mingw64\include
。
输入或选择完毕后,点击 添加 即可。
4. 添加C++包含文件目录
同上一步,在这里可以选择直接输入,或者通过文件夹选择。
按照以上步骤,这里的路径应为 D:\mingw64\include
。
输入或选择完毕后,点击 「添加」 即可。
接下来配置 「程序」
中的内容。
这里按照下图,填写 gcc
,g++
,gdb
三项即可。
现在,我们便完成了所有配置。在这里选择刚刚配置的 。
现在,我们的 Dev-C++ 便可以通过开头的那段代码啦~
#include <bits/stdc++.h>
int main() {
std::map<int, int> mp;
for (auto &[k, v] : mp)
std::cout << k << ' ' << v << '\n';
return 0;
}
设置编译选项
此时,如果想仿照考场上的编译选项,可以在 「编译器选项」 里设置。
勾选 「编译时加入以下命令」,并将 CSP-J/S 考试中给的编译选项 -O2 -std=c++14 -static
复制粘贴进去,就可以啦~
至此,你的 Dec-C++ 便脱胎换骨,升级成功啦!
全部评论 24
我嘞个黄新元老师啊,怎么被置顶了。
对了老师,x02你教我们下gcc14.2的时候怎么不把这个方法告诉我呢。2024-08-15 来自 广东
4当时不是都带着你们装好了吗,一样的方法呀
2024-08-15 来自 广东
2soga,压力马斯内星野爱牢湿
2024-08-15 来自 广东
2斯巴拉西
2024-08-15 来自 广东
1
电子木鱼,功德无量,进入 https://fish.leixf.cn 敲电子木鱼,积累功德,自动功德机
2024-08-15 来自 北京
2好玩,就是有点不好玩
2024-09-06 来自 江苏
0太无聊了
2024-09-08 来自 上海
0
学成归来
2024-08-15 来自 广东
2ding
2024-08-15 来自 广东
2会了,谢谢老师
2024-08-15 来自 广东
2回关我啊
2024-08-15 来自 广东
2👌
2024-08-15 来自 广东
1劳斯,装好了但是我一运行就提示我没编译,编译了之后还是提示我没编译
2024-08-26 来自 广东
0检查下是不是路径有中文字符,或者二进制库录入错误了
2024-08-28 来自 浙江
0
关注我
2024-08-15 来自 广东
2太难学不会怎么办
2024-08-15 来自 广东
2什么高级操作
2024-08-15 来自 广东
2老师终于不说妃话了……好干巴的知识
2024-09-05 来自 江苏
1第二部就看不懂了😭
2024-09-05 来自 江苏
0是解压那步还是配置那步呀
2024-09-06 来自 浙江
0下载快结束时会显示无网
2024-09-06 来自 江苏
0
老师我帮你顶到热榜榜一
2024-08-17 来自 广东
1老师,这个办法真有用
2024-08-17 来自 广东
1老师,网站下载不了,一下载就提示网站响应时间过长,无法访问此网站,然后检查网络的时候又显示未知错误怎么办啊
2024-08-16 来自 辽宁
1这个网站在国外,需要下载的时候,网络信号比较强,比较稳定才行。
2024-08-16 来自 广东
1偶像老师,正常下载要多久
2024-08-26 来自 广东
0它提示我要3hours(悲の恼)
2024-08-26 来自 广东
0
iterator老了
2024-08-15 来自 上海
1牢师太帅了
2024-08-15 来自 广东
1关注我关注我
2024-08-15 来自 广东
1👌
2024-08-15 来自 广东
1清晨起来进教室,遇见アイドル
打开讨论看一看,アイドル置顶啦2024-08-15 来自 广东
1
清晨起来进教室,遇见アイドル
打开讨论看一看,アイドル置顶啦2024-08-15 来自 广东
1感觉长脑子了。
2024-09-13 来自 江苏
0666666
2024-09-12 来自 广东
0https://www.acgo.cn/application/1834187747618271232
招人2024-09-12 来自 湖南
0
有帮助,赞一个