前面我们提到过VSCode有多么的好用,本文主要介绍如何使用VSCode编译运行C语言代码。
安装
首先去官网(https://code.visualstudio.com/)下载安装包,点击Download for Windows
获取安装包后,一路点击Next就可以。
配置VSCode
相关的配置详见:https://code.visualstudio.com/docs/cpp/config-msvc (直接看官方文档即可)
也可以参考这个文档:https://blog.csdn.net/lyb06/article/details/133305751
主要步骤如下
安装扩展
安装好VSCode
后,打开后,搜索C/C++
的扩展,然后安装:
安装MinGW-w64
通过 MSYS2 获取最新版本的 MinGW-w64,它提供了 GCC、MinGW-w64 以及其他有用工具和库的最新原生构建版本。为你提供编译代码、调试代码以及配置 IntelliSense 所需的工具。
要安装 MinGW-w64 工具链,可按照以下步骤操作:
- 你可以从 MSYS2 页面下载最新安装程序,或使用此直接链接下载安装程序。
- 运行安装程序并按照安装向导的步骤进行操作。请注意,MSYS2 需要 64 位 Windows 8.1 或更高版本。
- 在向导中,选择你希望的安装文件夹。记录下此目录,以备后续使用。最好直接使用推荐目录。完成后,确保选中“运行 MSYS2”,然后点击“完成”。这将为你打开一个 MSYS2 终端窗口。
- 在此终端中,通过运行以下命令安装 MinGW-w64 工具链:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
- 按下回车键接受
toolchain
组中的默认软件包数量。
- 当提示是否继续安装时,输入
Y
。 - 将 MinGW-w64 的
bin
文件夹路径添加到 Windows 的PATH
环境变量中,具体步骤如下:- 在 Windows 搜索栏中输入“设置”,打开 Windows 设置。
- 搜索“编辑账户的环境变量”。
- 在“用户变量”中,选择
Path
变量,然后点击“编辑”。 - 点击“新建”,并添加你在安装过程中记录的 MinGW-w64 目标文件夹路径。如果你使用了上述默认设置,则路径为:
C:\msys64\ucrt64\bin
。 - 点击“确定”,然后在“环境变量”窗口中再次点击“确定”,以更新
PATH
环境变量。 请注意,你需要重新打开任何控制台窗口,以便更新后的PATH
环境变量生效。
检查MinGW是否已安装
要检查 MinGW-w64 工具是否正确安装并可用,请打开一个新的命令提示符窗口并输入以下命令:
gcc --version
g++ --version
gdb --version
你应该会看到显示已安装的 GCC、g++ 和 GDB 版本的输出信息。如果情况并非如此:
- 确保你的
PATH
变量条目与工具链安装位置的 MinGW-w64 二进制文件位置匹配。如果编译器在该PATH
条目中不存在,请确保你按照前面的指示进行了操作。 - 如果
gcc
的输出正确,但gdb
不正确,则你需要从 MinGW-w64 工具集中安装你缺少的软件包。- 如果在编译时出现“The value of miDebuggerPath is invalid”的消息,其中一个原因是缺少
mingw-w64-gdb
软件包。
- 如果在编译时出现“The value of miDebuggerPath is invalid”的消息,其中一个原因是缺少
创建程序
创建项目
可以直接用VSCode打开某个文件夹,该文件夹将成为你的“工作区”。在弹出的工作区信任对话框中,选择“是,我信任作者”,因为这是你创建的文件夹。
然后你将在工作区的 .vscode
文件夹中看到三个文件:
tasks.json
(构建指令)
{"tasks": [{"type": "cppbuild","label": "C/C++: g++.exe build active file","command": "C:\\msys64\\ucrt64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "Task generated by Debugger."}],"version": "2.0.0"
}
- 详情:
command
设置指定了要运行的程序;在本例中,它是g++
。args
数组指定了传递给g++
的命令行参数。这些参数按照编译器期望的特定顺序列在该文件中。- 此任务告诉
g++
使用活动文件(${file}
),将其编译,并在当前目录(${fileDirname}
)中创建一个输出文件(-o
参数),文件名与活动文件相同,但带有.exe
扩展名(${fileBasenameNoExtension}.exe
)。对我们来说,这将生成helloworld.exe
。 label
的值是你在任务列表中看到的内容;你可以随意命名它。detail
的值是你在任务列表中看到的任务描述。强烈建议你更改此值,以便将其与其他类似任务区分开来。problemMatcher
的值用于选择用于在编译器输出中查找错误和警告的输出解析器。
launch.json
(调试器设置)
{"version": "0.2.0","configurations": [{"name": "g++.exe - Build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: g++.exe build active file"}]
}
新建文件
点击新建文件按钮,新建个test.c
文件:
编写代码
在test.c
文件中,编写简单的Hello World代码:
运行
直接点击图中按钮,运行即可:
你会看到有Hello,World的输出,然后你也会看到同级目录中出现了test.exe的可执行文件,这个可执行文件我们也可以直接运行,也会有同样的输出。
作者介绍
程序喵大人
- 35- 资深C/C++/Rust/Android/iOS客户端开发
- 10年大厂工作经验
- 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
- 《C++20高级编程》《C++23高级编程》等多本书籍著译者
C++训练营
专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,一条龙服务,已帮助多名学员获得offer!训练营介绍