竞赛环境以及常用编辑器设置
鉴于每年新大一都要问相关编辑器的安装设置,这里写个小博客汇总一下相关软件的安装以及相关配置。
建议之前没接触过编程的同学们优先下载一个Dev,里面附带最近版本的GCC,省去了以后大家去折腾下载GCC的时间,毕竟国内去下载有时候还是太太太太慢了。
目前就只推荐vscode和Dev两款编译器,不需要额外学习Cmake的知识点。
sublime text3/4可以在熟练两款编辑器的配置后,自行学习,难度不大。
Clion继承了JB家的传统,有多少内存吃多少内存,但是功能和体验很好。
codeblock也不错,但是个人觉得有点麻烦,调试功能对新手不大友好。
编译代码
竞赛环境
评测机的系统环境是Ubuntu,而我们写代码的环境是Win,Win对代码错误的检查并不是太严格。
那么我们代码如果存在一个隐性的BUG或者写了个UB行为的时候,就会得到本地和评测机给出两种不同的处理结果。
以下给出两种可能出现的错误。
内存越界
Win下内存越界,在本地运行时并不影响最终答案,但是当你交到评测机上运行时,这个越界的地址可能就是你某个变量的地址,这样就会导致你某个变量被修改。(惨痛经历)
而Ubuntu下会给你一个大大的报错。
好像某些平台对于越界处理,都是越到某个变量上去。
变量初始化
Win下变量初始化默认为0(试了试Dev和Vscode),所以有时候忘记初始化的时候,本地运行也不影响答案,但是当你交上去评测机的时候,这个这个初始化就会变成一个奇怪的数值,然后给你一个大大的WA(惨痛经历,WA了一上午)。
基础用法
g++ yourCode.cpp
会得到一个可执行文件,名字是 a.out,之后输入./文件名,运行程序 (前提是Linux系统环境)
在Win下会得到一个a.exe文件,之后直接输入a.exe即可运行程序。
常用指令参数
- -o 指定造出来的可执行文件的文件名
- -lm 连接math库
- -O2 打开O2优化(俗称吸氧,可以让STL更快)
- -stdc=c++xx 设置编译标准
例如 : g++ -std=c++11 yourCode.cpp -o yourCode -O2
所以,我们只需要安装好编译环境,用txt都可以写代码。
而且可以通过-std=c++xx
设置编译标准,那么我们就可以通过考场环境来设置我们的指令参数。
例如蓝桥杯支持C++11(???),那么我们就将编译器里的编译命令里加上一句-std=c++11,或者直接修改选择的编译标准位c++11。
Win下推荐终端
Windows Terminal,下载后可以使用Linux的命令,会变成对应Win下的命令。
比小黑框好用太多,就是弹出来会慢一丢丢。
小熊猫Dev
这里直接贴一个下载地址:https://royqh1979.gitee.io/redpandacpp/
下载选择64位带GCC的版本,解压(安装)完成后点击打开,选择主题后得到以下窗口。
请点击箭头指向的地方,将MinGw GCC 11.2.0 64-bit Debug改成如图所示。

建议同学们关闭Dev的代码补全功能
算法练习中需要用到的头文件和函数并不多,不建议依赖代码补全来记住常用头文件名和函数名。
也建议把即时报错去掉,提高准确性。
点击工具,打开选项。

再点击代码补全部分

把这个启动代码补全勾勾去掉即可

至于其他功能的话,官网文档有完善的使用说明,同学们需要可以自行阅读文档进行了解学习。
Vscode
官网下载地址:https://code.visualstudio.com/
点击右上角的Download

框起来的地方,下载64位版本。

如果懂得FQ的同学可以FQ下载,速度会快很多。
在下载等待时间段,我们可以先弄一下系统环境的设置。
先打开Dev的安装目录,找到MinGw64并双击进入。
找到bin这个文件夹,双击进入后,复制它的路径。不懂怎么得到路径的同学就单击我框起来的地方然后复制即可。
建议大家复制一份这个MinGw64文件夹,在C盘创建一个专门存放各种语言环境的文件夹,进行统一管理。


题外话:点击bin里面会有很多.exe文件,这就是我们写完代码要运行时所需要的文件,gcc对应C语言,g++对应C++语言,gdb是用来调试的工具。
我们需要让我们写的程序能用上这些编译程序,所以我们需要把它放到我们的环境变量中。右键我的电脑,点击属性。
图示用的是win11系统,win10系统打开后和图示不同。查找环境变量可以用两种办法。如图示箭头。
- 系统设置里查找环境变量
- 点击高级系统设置,点击高级,再点击环境变量。


打开后在系统变量里找到Path,双击进入。

然后我们以此点击新建,在编辑框里粘贴我们之前复制好的bin目录路径,得到图示效果。

之后我们同时按下win+r,在左下角弹出来的小窗里输入cmd,回车进入。
输入gcc -v能得到版本信息,g++ -v能得到版本信息,那么环境变量就配置成功了。

弄好之后我们的vscode也应该下载好了,进行安装,一直下一步到如下页面。
其他里的1,2选项勾选后,右键里就多出一个使用vscode打开选项,勾不勾看个人。
是否创建桌面快捷方式也看个人。其他的默认即可。

安装完成后打开,得到一个全英文界面。
我们首先选择中文包,点击右下角的齿轮,在列表里选择Extensions(扩展)。

搜索Chinese,第一个简体中文就是我们要下载的中文语言包,安装完成后右下角会弹窗是否重启,选择是即可。
再安装C语言的扩展,C/C++


之后我们在电脑随便找个地方新建文件夹,用来存放以后我们写的代码,创建完成后返回vscode页面,点击左上角的文件,然后打开我们刚刚所创建的文件夹,创建.vscode子文件夹。
如图示,创建.vscode后建立圈起来的四个文件,

然后将以下内容复制进去。
launch.json文件
command里的路径改成自己的安防MinGw64的路径。
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-DLOCAL"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
setting.json文件
{
"C_Cpp.errorSquiggles": "Disabled",
"files.associations": {
"iostream": "cpp",
"*.tcc": "cpp",
"forward_list": "cpp",
"list": "cpp",
"regex": "cpp",
"array": "cpp",
"atomic": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"cfenv": "cpp",
"charconv": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"complex": "cpp",
"condition_variable": "cpp",
"csetjmp": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cuchar": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"map": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"set": "cpp",
"string": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"ostream": "cpp",
"scoped_allocator": "cpp",
"shared_mutex": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"valarray": "cpp",
"span": "cpp"
}
}
tasks.json
command的路径记得修改。
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-DLOCAL"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
c_cpp_properties.json
C++的版本选择可以看个人选择降低,但建议在11以上。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"LOCAL"
],
"compilerPath": "C:\\Program Files\\mingw64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++20",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
之后就可以愉快的敲代码了,敲完代码后按ctrl + shift + b编译,会产生一个.exe文件,在按ctrl+~调出终端,输入./文件名,即可运行文件。(如果终端是CMD,那就是直接输入文件名,即可运行文件)。
虽然很麻烦,但是希望同学们可以习惯这样的运行方式,如果实在不习惯,可以安装相应的一键运行插件,百度有很多,这里不给出。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具