VScode上配置 c语言环境的图文教程

成成最近用到C语言了,之前比较喜欢用在vscode上面用python调试,今天我参考了一些文章,也尝试了下在vscode上配置c语言的调试,其中包含一些相关的基础知识。

1、在vscode里面下载c/c++官方插件:

2、安装c/c++编译器:
在windows上借助MinGW工具安装,下载地址:[https://sourceforge.net/projects/mingw/ ]

安装在d:\MinGW 下就好(自己新建一个文件夹),然后打开后这个样子:

在里面找到mingw32-gcc.bin, mingw32-gcc-g++.bin, 以及mingw32-gdb.bin 第一个是c语言文件的编译器,第二个是c++的,第三个是用来调试编译后文件的。
然后点Installation->Apply all changes.

然后安装好编译器,下面设置环境变量,让系统能够自动找到gcc命令,我的电脑右击->属性->高级系统设置->环境变量,在系统变量里面找到path,这个path和linux里面那个path是一样的,命令行界面下系统就根据这个path变量里面存的路径,寻找命令。我们把MinGW的二进制可执行文件的文件夹添加进去。

这个时候我们打开命令行输入gcc,应该可以看到命令已经被识别,会出现参数不足等错误
如果你有一个.c文件,可以在命令行下输入代码,对代码进行编译:
比如我有一个c文件:

#include <stdio.h>

int main()
{
 int n;
 printf("This is a test file!\r\nInput a number: ");
 scanf("%d",&n);
 printf("The number is %d",n);
 return 0;
}

然后在文件所在目录下的命令行中输入

gcc -g test.c -o test.exe

gcc 是编译命令,刚刚我们安装的,-g参数是表示编译时带上可调试记号,不然编译好的东西只能运行不能调试,-o 是表示指定输出文件,后面紧跟输出文件的名字,这一条指令就可以将c文件编译成一个可执行的二进制文件。
然后可以在命令行下运行:

./test.exe

如下图:

我们用vscode进行自动编译也是这个原理,其实所有的IDE都是这个原理。
问题:如果没有配置系统环境变量会出现什么问题?

3、配置vscode
打开vscode载入刚刚的c文件,网上网友说编译c文件要打开文件所在的文件夹,我尝试了下,确实是这样的。如下图:

然后点调试,他会跳出一个launch.json的一个配置文件:
修改这几个地方就好:

program一项,指明了需要运行的文件,$()的格式是表明这是变量,又vscode自己添加,根据英文可以知道这个变量的含义,miDebuggerPath是我们安装gdb的路径,前面提到过他,是用来调试的二进制文件(可执行二进制文件也叫命令)。preLauchTask是一个重点(敲黑板),我们这个配置的意思是用gdb去调试 program参数指定的二进制文件,但如果没有这个文件怎么办,结合之前的例子,我们知道我们可以调试运行的是gcc编译生成的二进制test.exe文件,但如果没有这个二进制文件,我们是不是应该先用gcc编译一个出来?preLaunchTask就是干这个的!

生成tasks.json可以通过,菜单里的任务,然后配置任务,模板然后选other就可以,几个必须的配置项就像下面:

version不重要,跳过。command和args其实刚好拼成我们前面的命令:

gcc -g xxx.c -o xxx.exe

这就自动会生成我们要的exe文件了。然后我们再结合前面那个配置文件看一下:

假设我们编译test.c文件,则${file}就是test.c,然后先执行prelaunchTask,就相当于执行了

gcc -g test.c -o test.exe

由此生成了test.exe文件
然后又要用gdb调试${fileBasenameNoExtension}.exe,刚好就是test.exe,这里的配置和刚刚的输出文件名要一致,相当于运行了:

gdb test.exe

这样就启动调试了。
最后vscode里调试如下图:

总结

到此这篇关于配置VScode c语言环境的图文教程的文章就介绍到这了,更多相关配置VScode c语言环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-05-11

VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法

Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,并针对网页开发和云端应用开发做了优化.VS Code编辑器界面依然是微软经典的 VS 风格,对于常接触的人来说会很亲切. 在编程语言和语法上支持 C++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java,

Go 语言 IDE 中的 VSCode 配置使用教程

Gogland 是 JetBrains 公司推出的Go语言集成开发环境.Gogland 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系.官方:https://www.jetbrains.com/go/.关于 Goland 相关配置参考该链接即可.Goland 用的好好的,为啥突然想用到 VSCode 呢 ?VSCode 是目前比较流行的 IDE 工具,在功能方面也相对齐全,使用方面也比较友好.不过对于 Golang 来说,配置起来不算太麻烦,只能说其中有一些比较坑的地

VSCode各语言运行环境配置方法示例详解

系统环境变量的配置 如:将F:\mingw64\bin添加到系统环境变量Path中 VSCode软件语言json配置C语言 创建个.vscode文件夹,文件夹内创建以下两个文件 launch.json 文件配置 { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg&

在VsCode中搭建Go开发环境的配置教程

现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新 这次怀着愧疚的心情,在凌晨四点时,将这教程进行一个更新 注意:本教程最大的好处是不需要梯子. 直接在墙内可进行一切操作,文章写给纯小白的,部分Linux常识解释的过多,熟悉的人请略过 Go的安装 安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量.直接去官网,下载了安装包后直接安装即可 在Go中文网进行Go最新版安装包的下载(或者复制网址浏览器打开https://st

VSCode必装Go语言以下插件的思路详解

VSCode 必须安装以下插件: 首先你必须安装 Golang 插件,然后再给 Go 安装工具包. 在 VS Code 中,使用快捷键: command+shift+P ,然后键入: go:install/update tools ,将所有 16 个插件都勾选上,然后点击 OK 即开始安装. Installing 16 tools at /Users/maiyang/develop/goworkspace//bin gocode gopkgs go-outline go-symbols guru

react国际化化插件react-i18n-auto使用详解

react-i18n-auto专门为中文国际化提供的自动化方案,快速迭代国际化开发,方法如下 安装 npm install react-i18n-auto --save-dev 第一步:添加babel插件配置(.babelrc添加方式) { "plugins": [ "@babel/plugin-transform-runtime", "react-i18n-auto", "..." ] } 第二步:添加自动化配置 i18n.

基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解

Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadify 好看一些,功能也强大些,本文主要基于我自己的框架代码案例,介绍其中文件上传插件File Input的使用. 1.文件上传插件File Input介绍 这个插件主页地址是:http://plugins.krajee.com/file-input,可以从这里看到很多Demo的代码展示:http:/

Python插件机制实现详解

插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地加载Python文件,即以某个py脚本的文件名作为__import__的参数,在程序运行的时候加载py脚本程序模块.对应的import关键字则是静态加载依赖的py模块. 描述 __import__() 函数用于动态加载类和函数 . 如果一个模块经常变化就可以使用 __import__() 来动态载入

Mybatis分页插件的实例详解

Mybatis分页插件的实例详解 1.前言: 我们知道,在MySQL中,分页的sql是使用limit来做,如果我们自己写sql,那分页肯定是没有任何问题的.但是一旦model多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的po和mapper,但是同时也会带来弊端,比如这里的分页问题就不好解决了. 可能有人会说,我可以修改生成的文件,没错,这是可行的,但是一般我们通过逆向工程生成的文件,都不会去动它,所以这个时候,就需要使用分页插件来解决了. 如果你也在用Mybati

C语言 指针与数组的详解及区别

C语言 指针与数组的详解及对比 通俗理解数组指针和指针数组 数组指针: eg:int( *arr)[10]; 数组指针通俗理解就是这个数组作为指针,指向某一个变量. 指针数组: eg:int*arr[10]; 指针数组简言之就是存放指针的数组: --数组并非指针&&指针并非数组 (1)定义一个外部变量: eg:int value=10; int *p=&value; 举例:当需要在一个函数中用这个变量时:externa int*p;而非extern int p[]; 分析:当用:e

Bootstrap 折叠(Collapse)插件用法实例详解

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.下面通过本文给大家介绍Bootstrap 折叠(Collapse)插件用法实例,一起看看吧! 折叠(Collapse)插件可以很容易地让页面区域折叠起来.无论您用它来创建折叠导航还是内容面板,它都允许很多内容选项. 如果您想要单独引用该插件的功能,那么您需要引用 collapse.js.同时,也需要在您的 Bootst

jQuery的图片轮播插件PgwSlideshow使用详解

0 PgwSlideshow简介 PgwSlideshow是一款基于Jquery的图片轮播插件,基本布局分为上下结构,上方为大图轮播区域,用户可自定义图片轮播切换的间隔时间,也可以通过单击左右方向按键实现图片切换:下方为要轮播的所有图片的缩略图展示,可直接单击缩略图快速切换图片. PgwSlideshow主要有以下特点: •体验度很好的响应式设计 •支持桌面及移动设备 •身形矫健,压缩后的文件只有不到4KB •你可以自定义或者直接修改基本的css样式来给你想要的轮播插件美个容 PgwSlides

jQuery表单插件ajaxForm实例详解

前端时间写项目用到了ajaxForm这个插件,可以用它提交表单和上传图片,听起来和正常的form表单提交没什么区别,只不过是ajax提交,无需刷新页面,如此可以增加用户体验度. 引入两个文件,PS:必须 <script type="text/javascript" src="http://img9.tongzhuo100.com/js/jquery-1.7.2.min.js"></script> <script type="t

MUI Scroll插件的使用详解

http://dev.dcloud.net.cn/mui/ui/#scroll 神坑1:如果在vuejs中使用,那么需要配合mui.ready(function(){}) 才能找到dom对象,具体demo为: http://www.jb51.net/article/111085.htm 神坑2:scrollTo每次移动的距离,是相对于当前打距离的移动的,而不是移动到绝对的距离. scroll(区域滚动) 在App开发中,div区域滚动的需求是普遍存在的,但系统默认实现又有如下问题: Androi