中国建设银行理财网站/南京疫情最新情况
目录
1.背景
2.下载编译器
3.配置环境变量
4.安装C/C++插件
5.写C语言代码并且编译成功
5.1文件操作
5.2对于两个窗口的解释
5.3C语言编译环境配置
6.创建执行文件
7.编译运行过程
8.写其他的代码的解决方案一
9.写其他的代码的解决方案二
10.同时编译多个.c文件
10.1对于内容的修改
10.2文件内容
10.3重新编译
11.C++环境配置和运行(和C基本一样)
12.vscode调试过程
12.1创建launch文件
12.2添加配置
12.3效果图展示
12.4对于launch文件的修改
1.背景
我个人的话最早接触这个vscode是学习python的时候,知道的这么一个编辑器,当时还是纯小白,所以不太明白这个vscode的强大之处,还不理解这个编辑器,编译器的相关的概念,加上当时这个python学习并不顺利,因为使用这个软件编写代码老报错,所以觉得这个软件并不怎么好用,后来发现自己大错特错了;
后来学习前端的时候,使用这个vscode写过一些类似于CSS文件,又觉得这个软件还是挺好的,但是对于这个软件学习python还是很有阴影的,后来了解到这个编译器,编辑器的相关概念,以及集成开发环境这些东西,感觉自己错怪了他;
现在,知道这个C,C++代码也可以使用这个vscode进行编写,因为我之前使用的都是visual studio集成开发环境,但是数学建模写的python代码就是用这个软件,所以我就想学习一下这个软件的相关操作,因为之前一直知道这个vscode的强大之处,我也知道这个软件没有我想象里面这么简单,所以这个时候我就决定学习这个vscode编写C/C++代码,增强自己对于vscode的理解;
2.下载编译器
因为这个vscode就是一个编辑器,所以C/C++代码想要进行编译的话,我们就需要去下载一个编译器,就是类似于gcc/g++这样的东西,把我们的代码运行起来,下面的就是下载的连接和选项(下载的时间可能有点长);
MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.nethttps://sourceforge.net/projects/mingw-w64/
我们下载之后需要解压,我们可以先解压到D盘,存的话,建议存到根目录下面,比较容易找到的位置,我这里是存到了C盘的根目录里面去,方便我们后续对于这个环境变量的控制;
3.配置环境变量
配置环境变量可以让我们在命令行里面进行操作,而且可以避免我们后面出现的很多的问题,就是把我们的bin路径(bin在我们的那个解压的文件里,一般是第一个)添加到环境变量里面去(这个只要配置过一次就熟悉了,我之前介绍这个qt的那个时候就介绍过这个过程,详细信息可以去看那个教程,新手还是了解一下最好);
Qt相关安装教程-CSDN博客https://blog.csdn.net/binhyun/article/details/141083921?spm=1001.2014.3001.5502配置好环境变量之后,我们就可以在我们的命令行里面查看我们的编译器的版本:
按住win+R键,输入cmd,敲入下面的这一行命令之后,我们就可以去检查我们的gcc版本:如果出现对应的信息,就可以说明我们的安装是成功的;
4.安装C/C++插件
这个是在vscode里面安装的插件,这个插件按照下面的方式进行安装,安装后重启,就可以让我们的相关设置生效;
5.写C语言代码并且编译成功
5.1文件操作
这个就是创建文件夹,然后在vscode里面打开这个文件夹,在里面写对应代码:
5.2对于两个窗口的解释
不得不说一下,我到今天才明白这个东西,其实vscode里面有两个窗口,一个是我们的搜索窗口,一个就是设置的窗口,我们进行这个代码编译环境使用的就是设置窗口;
这个就是vscode里面最常见的一个窗口,但是这个窗口只能搜索相关的文件,不可以干其他的事情,我们的配置不是在这个窗口里面进行的;
按住ctrl+shift+P快捷键,这个弹出的窗口才是我们进行配置的窗口(虽然他们在一个位置):
5.3C语言编译环境配置
进去搜索:
选择配置:我们首先配置的就是编译器的路径,这个时候一个下拉菜单的(肯呢个不会显示,但是你点值得会出来选项,真的,我当时想要修改也觉得懵懵的,这个难道是要让我去手写路径吗,觉得这个是可以选择的,实际上这个就是可以选择的),这个根据大家的安装位置进行选择,因为我的是先安装在了D盘里面,后来拷贝到了C盘大根目录下面,所以这个显示的C/D盘都有这个gcc,因此这个需要我们根据实际情况进行配置,在那个盘里面就选哪个盘;
选择对应的模式:这个完成的话配置就结束了;这个时候左边的栏目里面会生成一些文件,这个就是我们进配置之后的效果;
6.创建执行文件
我们点击终端里面的配置任务选项(这个终端位置因为视图的原因是可以调整的):
我们选择对应的选项点击打开:
出现的这个.json文件就是用来进行代码编译任务的,这个里面有一些相关的设置,我们不了解也没有影响;
7.编译运行过程
终端里面选择:运行生成任务:
点击mingw对应的目录里面的文件:
这个时候左边就会生成一个exe的可执行程序,这个就是我们想要运行的可执行程序:
ctrl+'(一个字符,esc键下面)这个快捷键的作用就是调出来我们的vscode里面的终端,我们要在里面输入相关的指令,来运行生成的可执行程序;
输入./表示我们当前的路径下的文件,后面的就是我们生成的exe的文件名字,点击enter键,就可以执行我们的C语言代码,生成运行的结果了;
8.写其他的代码的解决方案一
在原有的文件夹下面去创建新的文件:例如我们添加一个add.c文件
这个时候侧栏里面就会增加一个新的exe文件,我们还是在终端里面对于这个进行执行:
如果你晕倒下面的问题,可以使用点击垃圾桶标识之后再点击快捷键调出来这个终端窗口,输入运行的指令,就可以执行这个文件;
9.写其他的代码的解决方案二
创建新的文件夹去进行代码的编写:
我们创建一个新的文件夹,然后在这个vscode里面打开文件夹,这个时候我们不需要像上面那样进行繁琐的操作,而是直接复用即可;
进入我们的上次编写的文件:
把这个里面的.vscode文件拷贝到新的文件夹里面,这个时候在vscode里面刷新一下就可以按照正常的终端----运行-----敲入指令----enter键的方式,运行我们的程序了;
10.同时编译多个.c文件
10.1对于内容的修改
我们下面就是用一个简单的函数调用完成这个多文件过程展示:
这个还是把原来的.code文件进行拷贝到我们的目录下面,这个时候因为我们是多文件系统,多医药对于这个里面的一些内容进行修改;
10.2文件内容
10.3重新编译
11.C++环境配置和运行(和C基本一样)
生成可执行exe文件:
这个在选择编译选项的时候就是使用的g++进行编译的:同样的方法运行程序;
12.vscode调试过程
这个过程还是有点麻烦的,我尽量介绍的详细一些:首先就是点击左边栏的圈1,调出之后点击创建launch.json文件
12.1创建launch文件
点击之后选择gdb选项;
12.2添加配置
点击gdb之后点击右下角的添加配置:
选择gdb启动,这个时候就会给我们的launch里面添加一些新的内容
12.3效果图展示
添加配置之后的效果
12.4对于launch文件的修改
因为这个是进行调试,所以我们要选择对应的被调试的文件:
左边的json就是我们之前里面的那个.vscode里面的json文件,右边的就是launch文件,我们需要把我们的对应的被调试的test.cpp文件的json文件里面的内容贴到launch文件的对应位置去:
因为我们的json文件属于test.cpp文件读独属于的,我们把这个里面的东西给launch文件,就是为了让这个json文件知道要对于谁进行编译;
对于路径的修改:这个修改的是什么呢,
注意注意:这个地方还要进行一些修改欧:
开始调试:
调试效果图:
左边有监视窗口,变量窗口等等,同学们可以自行研究;
相关文章:

vscode的C/C++环境配置和调试技巧
目录 1.背景 2.下载编译器 3.配置环境变量 4.安装C/C插件 5.写C语言代码并且编译成功 5.1文件操作 5.2对于两个窗口的解释 5.3C语言编译环境配置 6.创建执行文件 7.编译运行过程 8.写其他的代码的解决方案一 9.写其他的代码的解决方案二 10.同时编译多个.c文件 10…...

Python制作《扫雷》游戏-附源码,轻松看懂,简单易学
今天介绍另一款经典小游戏,扫雷,这个应该是很多人windows电脑里玩的最多的游戏了,乐趣很多,而且还有一定的技术含量在里面,今天我们就来通过python实现这个小游戏。 创建扫雷文件 打开pycharm,创建一个名…...

8路VBO转HDMI2.0支持4K60频率ITE6265芯片方案心得分享
在此之前,有人找到我这边询问能不能将智能电视主板改成机顶盒,将VBO信号转换输出位HDMI进行投屏,具体应用奇奇怪怪!但是奈何是甲方大佬。认命照做。从网上也有搜索了解过这类芯片,发现资料很少,所以有了这篇…...

【问题解决3】【已解决】Cannot determine path to‘tools.jar‘libraryfor17
前几天在IDEA运行JAVA项目时,出现这个报错。 这是因为是这个笔记本上安装的IDEA版本是“IntelliJ IDEA 2020.3.1”,与JDK17版本不兼容,这种情况下要想使得IDEA版本与JDK版本兼容,就需要升级IDEA版本或者使用JDK较低版本ÿ…...

基于Spring Boot的高效宠物购物平台
✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...

【Vue3】路由基础
【Vue3】路由基础 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本…...

掌握网络数据的钥匙:Python Requests-HTML库深度解析
文章目录 掌握网络数据的钥匙:Python Requests-HTML库深度解析背景:为何选择Requests-HTML?什么是Requests-HTML?如何安装Requests-HTML?5个简单库函数的使用方法3个场景下库的使用示例常见Bug及解决方案总结 掌握网络…...

网络安全: 模型的脆弱性,鲁棒性和隐私性
在网络安全领域,通常描述模型安全性时,会提到以下三个特性: 脆弱性(Vulnerability):指模型在某些情况下容易受到攻击或被利用的弱点。例如,模型可能对对抗性攻击或梯度泄露攻击敏感。 鲁棒性&a…...

【go语言】go-webview2用法(持续更新)
文章目录 背景核心接口和方法扩展接口遗憾的是 背景 目前为止,已经有很多优秀的electron应用。但其特点也很明显:使用htmlcssjs构建的布局很精致,但是体积不容小觑(最新版electron-egg打包出来的程序已经300MB)。 vs…...

KNN 图像识别
KNN(K-Nearest Neighbors,K最近邻)算法是一种简单而有效的分类算法,也可以用于图像识别。它的基本思想是通过计算样本之间的距离,将待分类的样本归为其在训练集中最相近的K个样本所属的类别中最常见的类别 1. 准备工作…...

基于STM32和云平台的花卉养护系统设计(微信小程序)(209)
文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】选题背景【6】国内外技术发展现状1.4 开发工具的…...

编程语言进化史
编程语言多到你想象不到。 图片来自: 程序设计语言概念 发展历史 自从1946年冯诺依曼原理被提出,计算机数据和指令是通过二进制形式以及后来的汇编语言(二进制助记符),但依然没有改变容易出错的本质。1951年Rutishauser提出的用编译程序实现高级语言的思…...

vuex的原理和使用方法
简介 Vuex 是 Vue.js 应用的状态管理模式,它为应用内的所有组件提供集中式的状态(数据)管理。可以帮我们管理 Vue 通用的数据 (多组件共享的数据)。 Vuex的构成 state:state 是 Vuex 的数据中心,也就是说state是用来…...

(javaweb)SpringBootWeb案例(毕业设计)案例--文件上传
1.简介 前端程序和服务端程序 对于前端 html文件放在static目录下 location---文件提交的位置 右键--copy value -------------c盘目录下 2.本地上传--文件存储 1. 2. 使用uuid:保证文件名是唯一的 此时 并没有文件的拓展名--所以需要---写后缀 用字符串截取 此时图…...

数据库之存储过程和函数
目录 一、存储过程和函数概述 二、创建并调用存储过程和函数 1.创建存储过程 2.创建存储函数 3.调用存储过程和函数 三、关于存储过程和函数的表达式 1.变量 1.变量的分类 2.在存储过程和函数中应用变量 2.定义条件和处理程序 1.定义条件 2.定义处理程序 3.游标的…...

《SPSS零基础入门教程》学习笔记——02.数据管理
文章目录 2.1 连续变量的离散化2.2 自动重编码、编秩与数值计数2.3 几个常用过程2.4 多个数据文件的操作2.5 数据字典2.6 数据核查(1)数据验证模块(2)数据检验 2.7 数据准备 计算新变量(转换 -> 计算变量࿰…...

嵌入式软件的一些常用调试测试方法
嵌入式软件的仿真调试测试是确保软件质量和功能正确性的关键步骤。以下是几种常见的仿真调试测试方式: 1.集成开发环境(IDE)调试: 使用IDE(如IAR EWARM、Keil MDK、Eclipse等)内置的调试器进行断点设置、单…...

Android T about screen rotation(二)
需求:客户因为模具问题,屏幕方向需要动态的变动.(方向: 0 , 90 , 180 ,270) 拆分:设备开机过程中图像显示可分为三个阶段,boot logo(1)->kernel logo(2),这一段的处理需要驱动层,所以暂时忽略. 开机动画 Bootanimation(3)阶段 和 Home Launcher应用显示(4)阶段是需要修改的…...

qt反射之类反射、方法反射、字段反射
话不多说,直接上代码: main.cpp: #include < QCoreApplication > #include “fstudent.h” #include “manage.h” int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); //注册类型 qRegisterMetaType(“FStudent”); Manage m…...

服务器数据恢复—raid5阵列离线硬盘强制上线失败如何恢复数据?
服务器数据恢复环境: 某品牌2850服务器上有一组由6块SCSI硬盘组建的raid5磁盘阵列,上层操作系统为Redhat linuxext3文件系统。 服务器故障&初检: 服务器在运行过程中突然瘫痪,管理员对服务器中的raid进行检查后发现有两块硬盘…...

FastAPI+Vue3零基础开发ERP系统项目实战课 20240815上课笔记 列表和字典相关方法的学习和练习
昨日回顾 1、大小写转换2、去除空格3、判断是否为数字4、前缀后缀 昨日练习题进度 练习:判断验证码是否正确 1、生成一个由四个字符组成的验证码字符串,要求有大写有小写,要求左右两边有空格2、打印到控制台3、让用户输入这个验证码&…...

基于微信小程序的诗词智能学习系统的设计与实现(全网独一无二,24年最新定做)
文章目录 前言: 博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为…...

httplib库:用C++11搭建轻量级HTTP服务器
目录 引言 一. httplib库概述 二. httplib核心组件 2.1 数据结构 2.2 类和函数 2.3 服务器搭建 编辑 结语 引言 在现代软件开发中,HTTP服务是网络应用的基础。对于需要快速搭建HTTP服务器或客户端的场景,使用成熟的第三方库可以极大提高开发效…...

基于嵌入式C++、SQLite、MQTT、Modbus和Web技术的工业物联网网关:从边缘计算到云端集成的全栈解决方案设计与实现
一、项目概述 1.1 项目目标与用途 随着工业4.0时代的到来,传统工业设备与现代信息技术的结合越来越紧密。物联网工业网关作为连接工业设备与云端平台的桥梁,在工业自动化、设备监控、远程运维等方面发挥着至关重要的作用。本项目旨在设计并实现一个能够…...

Chapter 38 设计模式
欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、单例模式二、工厂模式 前言 在软件开发中,设计模式提供了一种可重用的解决方案,以应对在特定环境中反复出现的问题。这些模式是基于经验总结…...

Redis5主备安装-Redis
本次Redis有两台服务器及3个独立IP:主服务器的ip地址是192.168.31.190,从服务器的IP地址是192.168.31.191,vipIP地址是192.168.31.216 主备方案承载Redis最大的好处是无需考虑Redis崩后无法访问。 前提是需要优先安装keepalived,…...

C++票据查验、票据ocr、文字识别
现在,80、90后的人们逐渐过渡为职场上的主力人员,在工作中当然也会碰到各种各样的问题。比如,当你的老板给你一个艰难的任务时,肯定是不能直接拒绝的。那么我们该怎么做呢?翔云建议您先认真考虑老板说的任务的难度&…...

pytest.ini介绍
1.pytest.ini是什么 ? pytest.ini文件是pytest的主配置文件;pytest.ini文件的位置一般放在项目的根目录下,不能随便放,也不能更改名字。在pytest.ini文件中都是存放的一些配置选项 ,这些选项都可以通过pytest -h查看到…...

Vue项目打包成桌面应用
Vue项目打包成桌面应用 一、使用 NW.js 打包 NW.js基于Chromium和Node.js。它允许您直接从浏览器调用Node.js代码和模块,并在应用程序中使用Web技术。此外,您可以轻松地将web应用程序打包为本机应用程序。 NW官网...

DEFAULT_JOURNAL_IOPRIO
/* * 这些是 CFQ(完全公平排队)实现的 I/O 优先级组。 RT 是实时类,它总是能获得优质服务。 BE 是尽力而为的调度类,是任何进程的默认类别。 IDLE 是空闲调度类,只有在没有其他人使用磁盘时才会被服务。 */ /* *…...