win11 配置 C/C++ 开发与调试环境
本文主要介绍如何在 win11 系统上配置 C/C++ 的开发与调试环境,以及如何在 vscode 中进行 C/C++ 的编写与调试。
参考文章:
在今年的秋招中,因为受之前米家游戏的影响,因此想去猛盒游这边投投简历试试水——当然投的是前端开发的岗位。不出意外的,简历初筛过了,拿到了海笔的资格。
但当我打开试卷时,我傻眼了—— 2025 秋招-程序通卷。这也就意味着,所有开发岗都做的是同一套卷子。
果不其然,打开后的第一道题目便是:
- 运行结果是什么?
- 如果在构造函数中发生异常,会有什么问题?如何改进代码以避免资源泄漏?
哦,真就默认所有写代码的全都会 C++ 了是吧?
基本上只对 JS/TS 熟悉的我,自然基本上交了白卷,更不用说后面那一堆难的变态的算法题了。该说海笔不愧是海笔,我估计基本上就没有太想招人的意思,发了发试卷给我们做做而已。
不过,我也开始思考:C 是大一刚进来就学的东西,现在写算法题又基本上都用 C++,而且作为一门历史悠久的语言,它的手动内存管理以及更接近硬件本质的语法和编译,作为一名技术人应该都要好好学习一下并掌握。
而且随着 wbsm
技术的流行,一堆的前端库都用 Rust
进行编写,V8
引擎本身也是用 C++ 来编写的。技多不压身,多学一点、多了解一点总没坏处。
呃,所以我开始学 C++ 了。
好,接下来进入正题。作为一个写前端的,vscode 绝对是最常用的编辑器,自然写 C++ 也会想保留自己的使用习惯。那么怎么在 vscode 里面配置 C/C++ 调试环境呢?
安装 MinGW-w64
MinGW-w64 是 Minimalist GNU for Windows 的一个扩展版,是一个开源的 Windows 平台的开发工具集,主要用于在 Windows 上构建和运行基于 GNU 工具链(如 GCC)的应用程序。相比原始的 MinGW 项目,MinGW-w64 增强了对 64 位 Windows 的支持,并提供了更多的功能和改进。换句话说,你想要在 Windows 上面编译 C/C++,必须得安装这个工具集。所以安装它是必要的一个步骤,如果安装过了可以跳过!
安装并解压最新版本
前往 https://github.com/niXman/mingw-builds-binaries,找到 Releases。这里包含了所有最新版本的构建好的 MingGW-w64 二进制文件,选择你需要的版本下载即可。
对于这些特定的后缀名称代表了各个不同的版本。我们如果是在一般的 win11 机器上面安装的话,一般下载 posix-seh-ucrt
就可以了,如果有其他的需求可以自己搜索。
下载之后是一个压缩包,解压到你认为合适的位置。比如我自己是解压到 D:\MinGW\mingw64
这个目录下面。
添加环境变量
win+R
输入 sysdm.cpl
打开系统属性,选中“高级”再打开“环境变量”,找到“系统变量”的 Path 变量,点击编辑之后新建 D:\MinGW\mingw64\bin
并确定。\bin
目录里面包含了很多 C++ 的编译器。
添加完成后,打开 powershell,输入 gcc --version
来看看是否有输出版本相关信息。
如果有输出,那么就说明 MinGW 已经安装成功了,可以进行 vscode 的环境配置了!
vscode 配置
C/C++ 插件
创建一个你想使用 C++ 开发的空目录,用 vscode 打开,前往插件商店里面搜索并安装 C/C++
插件。
然后 Ctrl + Shift + P
打开快捷指令,向其中输入 C/C++ Edit Configurations
并选择第一个选项进入插件设置界面。以下是需要用户自己设置的一些配置选项:
- 配置名称:
如果你是 Win11,设置为 Win32 即可,如果是其他的系统就根据自己的实际情况设置。 - 编译器路径:
就是我们上面讲的 MinGW 安装路径,\bin
目录下面有非常多的编译器供选择。如果是编译 C/C++ 代码,我们会使用gcc
/g++
。
如果你是纯 C++ 项目,推荐选择g++
编译器;如果是 C/C++ 混合项目或者是纯 C 项目,推荐选择gcc
编译器。
如果纯 C++ 项目仍然想要使用gcc
进行编译,需要手动为编译行为添加连接 C++ 标准库的参数。 比如你有一段要编译的 C++ 代码main.cpp
,使用g++
编译的命令可能为:
使用gcc
编译的命令就需要为: - 编译器参数:
正如上面所说的,如果你对你的编译命令有特殊的参数要求,可以在这里添加。每行输入一个参数。 - IntelliSense 模式
编写 C/C++ 的时候的智能感知模式。我们一般选择windows-gcc-x64
即可。 - C/C++ 标准
C 标准一般选择 C17,比较稳定而且新。看你个人选择。
C++ 标准一般配合 C 标准选择gnu++ 17
版本。
配置完成之后,会在你打开的这个目录下面自动创建一个 .vscode
的目录,里面有个 c_cpp_properties.json
文件,保存了你刚刚配置的信息。基本上你每次创建一个新 C++ 项目都得重新打开一遍插件的设置界面,即使你什么都不做它也会自动帮你创建好这个文件。
创建编译任务
在你的这个目录下面新建一个 main.cpp
的文件,往里面输入一段初学者的代码:
然后你会发现右上角的运行按钮会多了个 debug 的标识。我们点击下拉按钮,选择“运行 C/C++ 文件”。
我们选择第一个,就是刚刚通过配置插件配好的任务:
稍微等一下之后,不出意外的话就会在你的控制台上面成功打印“Hello World!”字符串,说明你的配置是没问题的。
与此同时,会在你的 .vscode
目录下面生成一个 task.json
的文件,里面就是具体的任务配置信息。在接下来的调试配置中,我们就要使用这个任务配置的信息。
到此为止,在 vscode 里面运行 C/C++ 的环境基本上 OK 了,接下来是调试配置。
创建调试配置
我们打开 vscode 左侧边栏的“运行与调试”按钮,点击“创建 launch.json 文件”按钮。
选择下拉框的第一个建议选项。
然后就会自动为你创建一个 launch.json
文件,不过里面是空的。
接下来,在“configurations”数组里面键入“C”,会弹出一堆的预置配置项,我们选择 C/C++:(gdb)启动
我们要把里面的 program
和 miDebuggerPath
这两个配置项给改了。
program
: 运行程序的完整路径。一般设置为:${fileDirname}\\${fileBasenameNoExtension}.exe
。miDebuggerPath
: MI 调试程序(如 gdb)的路径。一般设置为你安装 MinGW 目录/bin/gdb.exe
。对照我的:D:\\MinGW\\mingw64\\bin\\gdb.exe
。
设置完成之后,我们可以试着编写复杂点的程序来测试断点调试。我给出一个经典的二分查找的代码用于测试:
我们在 int mid = left + (right - left) / 2;
的地方打断点,之后启动调试:
可以看到,能够准确的在断点位置停住并显示堆栈相关的内容。
至此,基本上开发前的准备工作都完成了,可以愉快的开始使用 vscode 编写 C/C++ 代码了!!
不过唯一有点不足的点就是,每次创建新项目都得重复一遍这样的操作有点繁琐。可以将常用的这几个文件都装到一个目录里面,新建项目的时候都复制一份就可以了!
希望这篇文章对你有所帮助~