众所周知,vs code是21世纪最好用的编辑器,没有之一(我说的)。我们可以用它来玩我们的小霸王游戏,甚至于,你还可以用它来写代码!
那么本篇文章就来说说如何用VS Code来配置C/C++多文件调试,这里虽然用的windows下作为例子,但也可以作为在linux环境下的参考。
如果解决了你几天的困扰,请一定要给我点个赞,让我知道我又帮助了一个焦虑的朋陌生人!!!
那么我们怎么来配置多文件编译调试呢?接下来进入正题,假设我们已经安装好了C/C++的编译环境,并且也在vscode上安装好了对应的插件(C/C++插件),这时候我们打开VScode,打开一个工程文件夹(或者新建)。然后创建多个文件,如下图:
简单介绍一下三个文件的相关内容:
hello.h: 函数声明(本示例中仅写了一个函数来做示范printHello())
hello.c: 上述.h文件所述函数声明的具体实现
main.c: 程序入口,即包含一个main函数,在main中调用hello.c的函数。
这个简单的工程大概就是如此,下面分别是三个文件的源代码:
// hello.c
#include "hello.h"
void printHello()
{
int i = 10;
printf("Hello VS Code!\n");
}
// hello.h
#ifndef __HELLO_H__ //防止重复包含
#define __HELLO_H__
#include
void printHello();
#endif
// main.c
#include "hello.h"
int main(int argc, char const *argv[])
{
printHello();
return 0;
}
那接下来如何配置多文件编译调试呢?
要进行编译和调试,就得用到launch.json和task.json,幸运的是,我们可以通过一下操作来自动生成两个文件:
1.点击菜单栏的运行按钮,点击启动调试,如图:
2.环境我们选择gdb就行,如图:
3.然后选择对应的gcc.exe文件,这时候,不出意外,会报错,提示未定义的引用之类的,如图:
4.不用管它,点击显示错误,这时候就会发现,工程目录下面会自动创建一个.vscode文件夹,下面生成了两个我们需要的json文件,但其实我们只需要配置task.json就够了。
5.打开task.json,把hello.c的文件添加到编译选项中,task.json内容如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "D:\\mingw64\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"${fileDirname}\\hello.c", //添加这一行就够了,即为了让编译器找到对应的.c文件,如果有其他.c文件,继续按照这种方式添加就可以了
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
6.增加这一行内容之后,保存,然后点击一下工程根目录下的某个.c文件(目的是为了使调试的工作目录回到对应的工程目录下,如果调试目录在.vscode目录下进行调试,依然会提示找不到文件类似的错误!!),接着在某一行代码设置一个断点,如图:
7.再点击菜单栏的运行,启动调试,这时候就会正常启动调试啦!给大家看看效果图:
本篇博文主要讲解了用vs code配置多文件编译调试的过程,虽然只配置了windows的,但是linux上的依然可以按照类似的步骤进行参考,就是需要注意下linux下的路径格式跟windows有对应的不一样,其实没啥区别啦~
如果此篇文章能帮到你,记得点个收藏点个赞哦!
如果遇到问题了,可以在评论区留言哦!