[C/C++] Visual Stdio Code中多线程多源码文件项目的编译、运行和调试
搞了很久,记录一下:
一. 环境
- OS:Ubuntu 20.04
- VS Code:1.77.0
- g++:g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
二. 配置文件
下面两个文件先不要手动创建,下面第三章会讲到:
- task.json:编译程序的配置文件;
- launch.json:运行程序的配置文件.
三. 编译&运行
1. 打开main函数所在的cpp文件,点击右上角的运行按钮的下拉选项,并选择“Run C/C++ File”:
2. 选择第一个选项,VS Code会自动生成默认 task.json文件 并运行。由于默认task配置文件不适用于我们的多线程多文件项目,因此会报错:
3. 关闭错误弹窗,修改 task.json 文件如下,其中红框是修改的地方:
{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++ build active file", "command": "/usr/bin/g++", "args": [ "-fdiagnostics-color=always", "-g", // 开启调试选项 // "${file}", // 单文件 "${fileDirname}/*.cpp", // 多文件源码需要添加所有的 源码文件 才能通过编译(这里是同目录下的所有cpp文件) "-pthread", // 多线程编译(代码中用到了多线程) "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "Task generated by Debugger." } ], "version": "2.0.0" }
4. 回到main函数所在的cpp文件,点击运行图标(三角形),就能正常编译运行了:
四. 添加运行参数
如果需要添加程序的运行参数,例如我们本例中的项目需要指定一个端口号,那么可以通过在配置文件 launch.json 中添加:
1. 按照下面操作,VS Code将会自动生成 launch.json文件 ,
2. 将需要的参数添加到里面就好了:
五. 调试
完成了上面的步骤,调试就变得很简单了,和单源码文件工程调试一样,可在任意地方(任意文件)打上断点:
六. 致谢
感谢CCTV~