赞
踩
Visual studio code 是微软推出的最新跨平台代码编辑器,用来编辑代码用,是一个轻量级的支持扩展组件的代码辑器。
具有轻便、可扩展、功能强大的特点。但是其自身只是代码编辑工具,对于c/c++ 而言没有编译和调试功能,需要在工具中自行配置才能具备调试和编译功能。因此本文就在Visual studio code 中如何配置c/c++ 编译调试环境进行讲解,以便能帮助各位搭建出可以进行c/c++代码编写、编译、调试的环境。文章的所有配置过程均参考 visual stdio code 官方文档而来:https://code.visualstudio.com/docs/cpp/config-mingw
由于 visual stduio code 不自带 gcc(c/c++的编译调试工具),但c/c++的编译调试需要依赖这个软件,因此需要额外下载mingw(gcc包) 到自己的windows平台上,进行相应的安装并将其添加到电脑的系统路径中即可。mingw下载安装可参考:Mingw下载链接
安装 C/C++ extension for VS Code 插件
如上图所示,install 这个插件即可。
在visual code studio 中新建一个工程,新建一个 showArryAll.c ,名字你可以自己定义,贴上如下代码,代码你也可以自己写,这里只是举个例子:
#include <stdio.h> // 打印一个数组中的所有元素 void ShowArry(int *arry, int len) { // 检验输入参数 if (arry == NULL || len <= 0) { return ; } for (size_t i = 0; i < len; i++) { printf("%d ", arry[i]); } puts(""); return ; } int main() { int arry[] = {1,2,3,4,5}; puts("数组元素为:"); ShowArry(arry, sizeof(arry)/sizeof(arry[0])); getchar(); return 0; }
同志们看到这里是不是感觉很烦,其他ide哪有这么多鸟事,直接新建工程然后写代码直接编译运行调试了,这个不知名的怪玩意儿看着就麻烦,哈哈,不要烦躁,弄清这个文件作用就好了,心静自然凉。
1.3 中的工程中现在还没有这个文件,只有showArryAll.c和里面的代码,还不能编译和调试,因此需要能让编写的代码能够编译完成然后再进行调试,这里的task.json就是用来进行使代码能够进行编译的配置文件,至于调试(debug)下一节会讲到。为了能够对工程进行编译,需要先生成task.json,生成过程如图所示:
选择 Terminal -> configure task
选择 gcc build active file
这时在.vscode中生成 task.json:
其中的 command 参数是用来编译文件使用的,其中的内容是gcc编译器的路径,这里需要配置对,否则会编译失败,这里的路径需要和电脑上的gcc路径一致,可以在命令行工具下使用 where gdb 查找对应的路径,然后将路径复制到这里:
args 参数是编译时调用gcc工具的 gcc -g 文件名称 -o 执行文件输出名称.exe 的参数,重点关注 第二个 {file} 和第四个${fileDirname}\${fileBasenameNoExtension}.exe 参数,不能配置错误。
cwd的参数需要配置成gdb所在的目录,例如 D:\mingw\bin。
上面的这些 fileDirname 。。。参数的具体含义可以参考 :参数含义
在配置完以上的这些后,task.json就算基本完成了,然后就可以执行编译生成对应的.exe:
shift+ctrl+B执行编译
编译成功后会在输出窗口有以下输出:
在工程目录下有对应的.exe文件产生,这时就表明编译成功,可以执行一把:
现在就完成编译了,下一步就是怎么进行调试
这个 launch.json 就是用来配置调试信息,只能进行配置后才能使用 gdb 对之前生成的.exe进行调试(打断点之类的)。为了配置这个文件,首先是要生成 launch.json:
选择 Debug->Add Configration :
选择 GDB(c/c++):
选择后就生成了launch.json,具体配置如下:
重点关注 这几个参数 request program stopAtEntry miDebuggerPath 这几个参数:
request :选择 launch
program : 这个是调试需要的exe文件的路径,调试需要一个可执行文件作为来源,这里的路径就是
1.4中生成args的第4个参数的值。
stopAtEntry :表示打了断点后,在调试的时候是否在main函数开头停顿,这里一般设置为true
miDebuggerPath :这个是gdb的路径,这个因人而已,根据你的实际情况去配置。
在配置完以上参数后,launch.json 就配置完成。就可以进行调试了,为了演示调试,我们在代码中增加几个断点:
分别在main函数开头和showarry函数开头增加了断点(按F9打断点),这样在启动调试后就可以进行断点调试:
直接按 F5 进行调试:
按F10进行单步调试,这样就完成了调试。
为了能够配置c/c++编译调试环境,需要:
* 下载 mingw 包并安装
* 打开 visual studio code 并添加相应插件
* 利用visual stdio code 创建一个vs工程
* 配置 task.json
* 配置 launch.json
如果您觉得我的文章对您有帮助,可以通过以下方式进行赞赏:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。