VSCode - C/C++ 环境
gcc: C语言编译器
g++: C++编译器
gdb: 执行器
下载:
首先的核心任务 就算下载可以供 C/C++ 运行开发的环境
比较常见的就算 MinGW
1. 官方网站:
https://osdn.net/projects/mingw/releases/
2. 下载 MiinGW 的安装器
3. 利用下载器, 下载 一些 MinGW 的包
我也不太清楚要下载什么包, 所以就勾选了基础的几项
配置
VsCode 可以进行 C/C++ 的编译
首先 在 VsCode 里下载 C/C++ 插件
然后 编写一个最简单的程序
#include <stdio.h> int main() { int i = 0; printf("Hello World"); }
之后, 按 F5 运行,
提示: 这里的话 需要你的 .cpp 文件在目录下, 用程序空间的方式载入进 vscode
如果没有 launch,json 的话, 首先会让你选择一个 运行配置文件
根据提示创建一个 launch.json 配置文件
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", //最终会运行这个文件, 也就是编译生成之后的文件, 默认是 a.exe "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 "environment": [], "externalConsole": false, //是否运行在弹出的控制台上, 如果写false的话, 似乎就什么都没有了 // 调试时是否显示控制台窗口,一般设置为true显示控制台 "MIMode": "gdb", "miDebuggerPath": "xxxx/mingw/bin/gdb.exe", //这里需要填写gdb的地址 //miDebugger的路径,注意这里要与MinGw的路径对应 "preLaunchTask": "build" //跟此运行相关的 任务的名字 // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc } ] }
之后我们需要创建一个 Task.json
这个 task.json 的作用就是, 在通过 launch,json 里的配置运行之前, 先根据我们自定义的命令去运行一个任务
在这里通常这个任务是编译, 也就是把我们的 .cpp 变成 .exe, 这样 launch.json 才可以用 .exe 去执行
当然, 如果我们自己手动来编译的话, 也就不需要 task,json, 但是这样比较麻烦 isn't it?
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build", // 任务的名字, 跟上面 launch.json 的 perLaunchTask 值相对应 "type": "shell", // 使用命令行的类型 "command": "g++", // 使用的编译命令 "args": [ // 参数 "-g", "${file}", "-o", "${fileBasenameNoExtension}.exe", ], } ] }
这里解释下 command 和 args 的关系
假设 command 是 g++
参数是 ${file}, -o, $(fileBasenameNoExtansion).exe 的话
那么相当于这个任务是在 powershell 下运行 g++ 当前文件 -o 当前文件(去掉后缀名).exe
这样的话效果跟手动编译是一模一样了
Task 完成了之后, 就开始 launch.json 的运行了
会根据 launch.json 里的 miDebuggerPath 配置的 编译器了路径去运行上刚生成的 exe 文件
另外, 网上还有另外一份配置文件
c_cpp_properties.json
但是目前不知道是什么用的, 应该是配置 cpp 文件编译时的全局配置吧, 也好像是提供智能感知的配置
这里有2份配置参考, 目前好像是不用这两个也可以运行
如果要添加这个文件的话 可以输入
ctrl+shift+p
再输入
C/CPP: Edit Configurations
{ "configurations": [ { "name": "MinGW", "intelliSenseMode": "clang-x64", "compilerPath": "C:/LLVM/bin/gcc.exe", "includePath": [ "${workspaceFolder}" ], "defines": [], "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "cStandard": "c11", "cppStandard": "c++17" } ], "version": 4 } { "configurations": [ { "name": "Win32", "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true }, "includePath": [ "E:\\Applications\\Environment\\MinGW\\include\\*" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "msvc-x64" } ], "version": 4 }
然后点击 F5 应该就成功运行了
如果不成功... 留言吧