分析竞争对手的网站,如何做网络集资网站,建设一个地方门户网站,郴州做网站 郴网互联一、文章内容简介 本文介绍了 “Vscode搭建C语言多文件开发环境”需要用到的软件#xff0c;以及vscode必备插件#xff0c;最后多文件编译时tasks.json文件和launch.json文件的配置。即目录顺序。由于内容较多#xff0c;建议大家在阅读时使用电脑阅读#xff0c;按照目录…一、文章内容简介 本文介绍了 “Vscode搭建C语言多文件开发环境”需要用到的软件以及vscode必备插件最后多文件编译时tasks.json文件和launch.json文件的配置。即目录顺序。由于内容较多建议大家在阅读时使用电脑阅读按照目录来看。
二、前提需要安装软件
①vscode安装简单百度一下
②Mingw64这是windows下的gcc编译和调试工具免安装下载解压即可。资源如下博主有
MinGW-w64 10.0.0 GCC 12百度云盘下载_mingw-w64 gcc百度云盘-CSDN博客
三、vscode插件配置
安装好vscode之后必须安装C/C插件才能识别.c文件安装Chinese (Simplified)汉化。 四、tasks.json文件和launch.json文件配置 这两个文件的作用在此处提前介绍在五、举例测试中会用到在此处看明白了文件作用便于在五中用到时直接使用。
1.tasks.json文件配置
tasks.json是指定编译器gcc路径需要编译的.c文件以及编译后生成的可执行exe文件
Vscode默认配置如下编译一个.c文件时不需要修改如果需要编译多个文件就需要修改。
单一文件编译即vscode默认配置如下
{tasks: [{type: cppbuild,label: C/C: gcc.exe 生成活动文件,command: C:\\mingw64\\bin\\gcc.exe,//gcc编译器路径args: [-fdiagnostics-coloralways,-g,${file},//需要编译的文件${file}指当前.c文件多文件时此处需要修改-o,${fileDirname}\\${fileBasenameNoExtension}.exe,//编译后生成的可执行文件此处是和当前.c文件同名的.exe文件。],options: {cwd: C://mingw64//bin/},problemMatcher: [$gcc],group: {kind: build,isDefault: true},detail: 调试器生成的任务。}],version: 2.0.0
}
多文件编译修改后配置如下 配置成编译当前文件夹下所有.c文件并生成a.exe可执行文件。
{tasks: [{type: cppbuild,label: C/C: gcc.exe 生成活动文件,command: C:\\mingw64\\bin\\gcc.exe,//安装的gcc路径我的解压后是放在c盘根目录下args: [-fdiagnostics-coloralways,-g,// ${file},${fileDirname}\\*.c,//编译当前目录下所有的.c文件// ${fileDirname}\\test.c,//编译当前目录下test.c文件这种是指定编译哪一个为了方便直接编译所有选上面一种-o,// ${fileDirname}\\${fileBasenameNoExtension}.exe,${fileDirname}\\a.exe,//由于是多文件编译后生成的可执行文件名为a.exe,这个名字再launch.json中要用],options: {cwd: C://mingw64//bin/},problemMatcher: [$gcc],group: {kind: build,isDefault: true},detail: 调试器生成的任务。}],version: 2.0.0
}
2.launch.json文件配置
launch.json是调试配置文件需要指定要调试的exe文件指定调试器gdb的路径。
单一文件 ,vscode默认配置如下
{version: 0.2.0,configurations: [{name: C/C Runner: Debug Session,type: cppdbg,request: launch,args: [],stopAtEntry: false,externalConsole: false,cwd: c:/Users/Xiasir/Desktop/error,program: ${fileDirname}\\${fileBasenameNoExtension}.exe,//tasks.json生成的单一文件的可执行文件MIMode: gdb,miDebuggerPath: C:\\mingw64\\bin\\gdb.exe,//gdb执行路径setupCommands: [{description: Enable pretty-printing for gdb,text: -enable-pretty-printing,ignoreFailures: true}]}]
}
多文件调试配置如下
{version: 0.2.0,configurations: [{name: C/C Runner: Debug Session,type: cppdbg,request: launch,args: [],stopAtEntry: false,externalConsole: true,//使用内部控制台cwd: c:/Users/Xiasir/Desktop/error,// program: ${fileDirname}\\${fileBasenameNoExtension}.exe,program: ${fileDirname}\\a.exe,//在tasks.json中生成的可执行文件a.exea是可执行文件名由我们自己定义MIMode: gdb,miDebuggerPath: C:\\mingw64\\bin\\gdb.exe,//调试器gdb的执行路径我的mingw64安装在C盘根据你自己的确定setupCommands: [{description: Enable pretty-printing for gdb,text: -enable-pretty-printing,ignoreFailures: true}]}]
}
五、举例测试
1.建立文件夹 和 多个.c文件
在桌面新建文件夹,命名为test_vscode,并建立main.c和test.c和test.h两个文件。如下图所示 2.使用vscode打开文件夹
点击test_vscode文件夹右键使用vscode打开 3.编辑代码
①main.c代码如下
#include stdio.h
#include test1.hint main(void)
{printf(hello world\r\n);test();//此函数在test1.c中实现在test1.h中声明return 0;
}
②test1.c代码如下
#include test1.h
#include stdio.hvoid test(void)
{printf(this is test\r\n);}
③test1.h代码如下
void test(void);
④配置标题四的的task.json文化和launc.json文件
此时大家按下F5或者CtrlF5会发现会报错程序不会被执行 点击打开launch.json文件此时界面如下
会发现在图上左边.json文件下没有tasks.json文件在launch.json中也没有gdb执行路径和可执行文件路径。此时我们需要生成tasks.json文件并修改然后修改launch.json文件。
1.生成task.json文件
点击终端---配置---使用模板创建tasks.json文件--others 此时左边.json文件夹下有了tasks.json文件以及tasks.json中如下。默认的比较简单也和第四步有点不一样我们直接复制第四步的tasks.json多文件下的配置。 即tasks.json改为如下配置
{tasks: [{type: cppbuild,label: C/C: gcc.exe 生成活动文件,command: C:\\mingw64\\bin\\gcc.exe,//安装的gcc路径我的解压后是放在c盘根目录下args: [-fdiagnostics-coloralways,-g,// ${file},${fileDirname}\\*.c,//编译当前目录下所有的.c文件// ${fileDirname}\\test.c,//编译当前目录下test.c文件这种是指定编译哪一个为了方便直接编译所有选上面一种-o,// ${fileDirname}\\${fileBasenameNoExtension}.exe,${fileDirname}\\a.exe,//由于是多文件编译后生成的可执行文件名为a.exe,这个名字再launch.json中要用],options: {cwd: C://mingw64//bin/},problemMatcher: [$gcc],group: {kind: build,isDefault: true},detail: 调试器生成的任务。}],version: 2.0.0
}
2.修改launch.json
复制第四步的launch.json多文件下
{version: 0.2.0,configurations: [{name: C/C Runner: Debug Session,type: cppdbg,request: launch,args: [],stopAtEntry: false,externalConsole: false,//如果想使用外部控制台改为true即可cwd: c:/Users/Xiasir/Desktop/error,// program: ${fileDirname}\\${fileBasenameNoExtension}.exe,program: ${fileDirname}\\a.exe,//在tasks.json中生成的可执行文件a.exea是可执行文件名由我们自己定义MIMode: gdb,miDebuggerPath: C:\\mingw64\\bin\\gdb.exe,//调试器gdb的执行路径我的mingw64安装在C盘根据你自己的确定setupCommands: [{description: Enable pretty-printing for gdb,text: -enable-pretty-printing,ignoreFailures: true}]}]
}
⑤编译代码
配置完tasks.json和launch.json文件后此时按下F5,仍然没法调试,会报错如下
报错找不到launch.json文件中的可执行文件a.exe。 因为编译器此时并没有进行编译F5是调试此时并没有编译。所以得先编译一次生成可执行文件a.exe。
1.生成可执行文件a.exe
此时点击 终端-运行生成任务也可按快捷键ctrlshiftb生成可执行文件a.exe 2.运行可执行文件a.exe
执行方式一此时再按下F5,就会顺利执行a.exe文件执行结果如下 执行方式二在vscode内置终端下输入命令.\a.exe也可执行。 六、总结
通过这一篇文章看下来会觉得vscdoe配置起来非常的麻烦确实不如集成开发环境好用但是vscode这主题很舒服看着方便。折腾下来发现配置也是按照代码编译原理的逻辑来配置的。
首先是程序员编写代码然后调用编译器gcc编译成可执行文件最后调试时调用gdb进行调试。
1.因此在编译时需要指定需要编译的源文件gcc的位置编译后生成的可执行文件名tasks.json中完成。
2.在调试时需要指定可执行文件名调试器gdb的路径。在launch.json中完成。