VsCode学习

一、在VsCode 上编写第一个C语言

在VsCode上写代码都是先打开文件夹,这样也方便管理代码和编译器产生的可执行程序,VsCode生成的配置文件等。

1.1打开文件夹

写代码前,首先创立一个文件夹存储以后我们写的VsCode代码,便于管理。 

在VsCode上打开文件夹 

 创建自己所需的文件

1.2设置C/C++编译的选项 

鼠标点在.c的源文件内部,按ctrl+shift+p快捷键,在弹出的页面中选择:C/C++编辑配置(UI) 

弹出没有的话往下滑,或者输入UI,即可找到

选择不要选错了 

1.3创建执行任务 :tasks.json

要编译代码,还要在终端中进行配置,如下图:

在弹出页面,选择C/C++:gcc.exe 

生成tasks.json文件,这个文件是专门用来执行代码的编译任务。

1.4编译+执行 

  下面我们就来开始编译并生成可执行程序

1.4.1编译

具体操作:

  • 鼠标放在要编译的C语言代码中
  • 然后执行【终端】->运行生成任务 

编译成功生成.exe 

1.4.2执行 

按键盘的ctrl+`快捷键,打开VsCode自带的终端,就可以运行代码了。

输入:.\可执行程序的名字,即可执行。

二、添加新代码 

2.1方法

2.1.1方法一 

编译新的文件 

2.1.2方法二 

先创建新的文件夹

先关闭当前文件夹 

打开创建的文件夹 

 打开成功后按上面步骤新建源代码

先配置任务,再编译

也可以将上个文件的.vscode文件拷贝到新文件夹中,这样就不需要重新配置任务

2.2 一个工程中有多个.c文件需要编译怎么办?

需要修改tasks.json

将 ${file} 修改为 ${workspaceFolder}\\*.c,可以构建当前工作区中所有的C文件

将 ${file} 修改为 ${workspaceFolder}\\*.cpp,可以构建当前工作区中所有的cpp文件

将${fileDirname}\\${fileBasenameNoExtension}.exe 改为 ${workspaceFolder}\\${workspaceRootFolderName}.exe

演示效果

配置C++

 tasks.json更新

 演示效果

三、调试 

当我们生成了可执行程序,运行发生问题的时候,我们要调试,那么调试该如何调试呢?

3.1创建launch.json文件 

点击调试,创建launch.json文件(新版本自动生成)

修改图:

修改1:

"program": "${fileDirname}\\${fileBasenameNoExtension}.exe''//调试谁

修改2:

"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe"//调试工具

3.2开始调试

F9- 打断点/取消断点

F5- 启动调试

F10- 逐语句调试

F11- 逐过程调试

启动调试中的监视窗口查看相关信息

本文讲解还有不足地方望大家留言指正!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot:kaptcha生成验证码

GitHub项目地址:GitHub - penggle/kaptcha: kaptcha - A kaptcha generation engine. kaptcha介绍 kaptcha官网(Google Code Archive - Long-term storage for Google Code Project Hosting.)对其介绍如下, kaptcha十分易于安装…

linux CentOS7.6安装jenkins(小白版本)

前言 本人是一个前端开发者,由于有时候需要发版自己的东西,所以想搞一个Jenkins玩玩,看了网上好多教程,但是都不是针对小白的,比如linux怎么输入,怎么结束,自己也是搞了好久踩了好多坑 所以记录…

filebeat配置解析【待续】

目录 filebeat概览filebeat是如何工作的工作原理采集日志注册表发送日志 容器日志采集的三种方式方式一:Filebeat 与 应用运行在同一容器(不推荐)方式二:Filebeat 与 应用运行不在同一容器方式三:通过 Kubernetes File…

oracle “ORA-25153:临时表空间为空”

从生产上面备份出来了一个数据库,应用在使用时显示ORA-25153临时表空间为空的报错,原因一般是数据库迁移时,没有迁移完整造成的 解决方法 1.创建新的临时表空间temp2 create temporary tablespace temp2 tempfile DATA size 100M autoexten…

【Python百题】--1.输出Hello,world【2023.11.22】

1.问题描述 编写一个Python程序,将字符串 ‘Hello World!’ 存储在变量 str 中,然后使用 print 语句将其打印出来。 2.解决思路 使用print()函数即可 3.代码实现 print("Hello,world")4.运行结果

系统移植-交叉编译工具链

不同架构的机器码 与 汇编语言 都不可移植, 且二者一一对应 c语言中三种成分: 1.分号结尾的叫做语句 语句可以让CPU执行,可以进行预处理,编译等生成机器码 2.#开头的为预处理指令 不带分号 CPU无法执行 3.注释,…

vue中列表渲染

列表渲染 实际开发中,使用每条数据的唯一标识作为key,也就是对于数组列表,对象中的属性如:id、手机号、身份证号、学号等唯一值,对象列表同理 只要不对列表的逆序添加,逆序删除等破坏顺序的操作,仅用于渲染…

Mysql 递归查询子类Id的所有父类Id

文章目录 问题描述先看结果表结构展示实现递归查询集合查询结果修复数据 问题描述 最近开发过程中遇到一个问题,每次添加代理关系都要去递归查询一下它在不在这个代理关系树上.很麻烦也很浪费资源.想着把代理关系的父类全部存起来 先看结果 表结构展示 表名(t_agent_user_rela…

Android 10.0 mtp模式下连接PC后只显示指定文件夹功能实现

1. 前言 在android10.0的系统定制化开发中,对于usb作为otg连接电脑时,在mtp模式下会作为一个存储器在电脑端显示,作为电脑的 一个盘符,来显示设备的内部存储的文件,所以说如果要对设备内部的资料做保密处理的时候,需要在mtp模式下不显示某些 文件夹,接下来就分析下相关…

【算法萌新闯力扣】:两句话中的不常见单词

力扣热题:两句话中的不常见单词 开篇 今天是备战蓝桥杯的第19天,今天到目前刷了4道力扣算法题。其中,这道题是对我来说收获最大的一道,让我更熟练地掌握了一些算法题中方法,于是来与大家分享一下。 题目链接: 884.两…

服务器中了elbie勒索病毒解决办法,elbie勒索病毒解密数据恢复

科技技术的不断发展,为企业的生产运营提供了极大便利,但网络安全威胁也不断增加,近期云天数据恢复中心陆续接到很多企业的求助,企业的服务器中了elbie勒索病毒,导致系统瘫痪,所有业务无法正常开展&#xff…

链表OJ--下

文章目录 前言一、链表分割二、环形链表I三、环形链表II四、链表的回文结构五、随机链表的复制 前言 一、链表分割 牛客网CM11:链表分割- - -点击此处传送 题解: 思路图: 代码: 二、环形链表I 力扣141:环形链表…

使用SpringBoot集成MyBatis对管理员的查询操作

增删改查中的查询操作,对所有的普通管理员进行查询操作。 效果展示: 不仅可以在打开页面时进行对管理员的自动查询操作,还可以在输入框进行查询。 首先是前端向后端发送POST请求,后端接收到请求,如果是有参数传到后端…

【uni-app】uniapp中弹出输入框的示例

uni.showModal({title: 请输入企业名称,content: ,editable: true, //是否显示输入框placeholderText: 请输入企业名称, //输入框提示内容confirmText: 确认,cancelText: 取消,success: (res) > {if (res.confirm) {this.checkDesc.name res.content;// console.log(输入的…

内部网关协议_路由信息协议RIP_开放路径优先OSPF协议_基本知识

目录: 因特网路由选择协议概述 路由信息协议RIP 开放路径优先OSPF协议 因特网路由选择协议概述 一.路由选择分类 静态路由选择和动态路由选择 静态路由选择: 采用人工配置的方式给路由器添加网络路由、默认路由和特定主机路由等路由条目。静态路由选择简单、开销小&#…

八、ffmpeg录制视频为yuv文件

前言 测试环境: ffmpeg的4.3.2自行编译版本windows环境qt5.12 图片的一些重要知识: RGB图片 位深度:每一个像素都会使用n个二进制位来存储颜色信息。每一个像素的颜色都是由红(Red)、绿(Green&#xff0…

【python】python旅游网数据抓取分析(源码+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

C语言——结构体的应用

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 路还在继续,梦还在期…

webGL技术开发的软件类型

WebGL 是一种在浏览器中渲染 2D 和 3D 图形的 JavaScript API。通过 WebGL,你可以创建各种类型的软件项目,特别是那些需要强大图形渲染能力的项目。以下是一些你可以使用 WebGL 实现的软件项目类型,希望对大家有所帮助。北京木奇移动技术有限…

老生常谈之 JavaScript 中 0.1 + 0.2 != 0.3 的原因

先来一个模棱两可的说法:因为精度丢失、存储溢出的问题 先复习一下二进制的转换方法: 整数:除以基数,取余,自底向上小数:乘以基数,取整,自顶向下 接着,复习一下双精度…