1、vscode搭建C++开发环境及一些配置文件的含义

news2024/11/27 10:22:42

文章目录

  • 一、vscode搭建开发环境
    • 1、下载和配置MinGW-w64 编译器套件
    • 2、安装到电脑中
    • 3、配置环境变量
    • 4、测试是否安装成功
    • 5、vscode上安装C/C++插件
  • 二 、配置编译环境时各个文件的含义
    • 1、task.json:此文件告诉VS代码如何构建(编译)程序,即成功运行后会生成对应的可执行文件(名字有task.json里面的参数决定)
    • 2、launch.json(里面主要是编译器参数):用于执行编译好的文件(看program的指向),也可以进行dubug(GDB)
  • 三、配置文件中变量索引的含义

一、vscode搭建开发环境

1、下载和配置MinGW-w64 编译器套件

下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
点击进去后然后下拉差不多到底
在这里插入图片描述
根据自身需求选择上图其中的一个下载

2、安装到电脑中

解压刚下载的压缩包,然后打开把mingw64这个文件夹复制到你想要放到的位置,类似如下(这就是你这个编译套件的地址)在这里插入图片描述

3、配置环境变量

在电脑上找到变量,然后在系统变量中找到Path,,将第二步中mingw64中的bin文件的路径拷贝进去
在这里插入图片描述

4、测试是否安装成功

window+r打开CMD命令 输入gcc --version 查看是否安装成功
输入where gcc可以查看安装的位置

5、vscode上安装C/C++插件

打开vscode的扩展,搜索这个插件并安装成功后重启vscode即可

二 、配置编译环境时各个文件的含义

在这里插入图片描述

1、task.json:此文件告诉VS代码如何构建(编译)程序,即成功运行后会生成对应的可执行文件(名字有task.json里面的参数决定)

(1)tasks.json的主要作用就是执行类似 gcc -g main.c -o main 的命令,需要注意的一点是,tasks.json的"label"参数值和launch.json的"preLaunchTask"参数值需要保持一致
1)在launch.json中里面参数——“preLaunchTask”:表示在执行launch.json之前需要先哪个执行( task.json(与哪个tasks.json的"label"匹配,就执行哪个task)

(2)tasks.json这个文件是定义调试开始前要执行的任务, 定义了用于编译程序的编译器,所输出的文件格式,使用的语言标准等在这里插入图片描述

2、launch.json(里面主要是编译器参数):用于执行编译好的文件(看program的指向),也可以进行dubug(GDB)

(1)添加配置时选择 gdb 与 launch 参数原因
1)为什么选gdb不选 windows:因为这个不会执行预任务,也就没法编译文件了
2)为什么选 launch不选attach:因为attach用来给正在执行的文件用的,比如网页中的组件,而launch是执行新文件

在这里插入图片描述
(2)launch.json各参数含义
1)program选项为要调试程序的路径
2)args为运行时添加的参数
3)stopAtEntry选项默认为false,若设置为true,则会在函数入口中暂停
4)externalConsole为是否在外部控制外运行,设置为true会弹出windows的运行窗口
5)miDebuggerPath为gbd调试器的路径
6)setupCommands为启动调试前为GDB调试器设置相应的命令
7)preLaunchTask选项为运行调试前执行的任务

三、配置文件中变量索引的含义

1)${workspaceFolder} :VS Code 中打开的文件夹目录 (通常是项目的位置
2)${workspaceFolderBasename} :没有任何斜杠 (/)的 VS Code 中打开的文件夹目录
3)${file} :当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名
4)${relativeFile} :从当前打开的文件夹到当前打开的文件的路径 ,如当前打开的是test文件夹,当前的打开的是main.c,并有test / first / second / main.c,那么此变量代表的是  first / second / main.c
5)${fileBasename} :  当前打开的文件名+后缀名,不包括路径(有拓展名,如: main.cpp)
6)${fileBasenameNoExtension} : 当前打开的文件的文件名,不包括路径和后缀名
7)${cwd}: task runner的工作目录
8)${fileDirname} :当前打开的文件所在的绝对路径,不包括文件名
9)${fileExtname} : 当前打开的文件的后缀名
10)${lineNumber} :文件中目前被选择的行数
11)${selectedText}: 文件中目前被选择的内容
12)${workspaceRootFolderName}  : 当前打开的文件夹的名字

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

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

相关文章

如何利用 IP 归属地查询 API 精准锁定用户位置

引言 在互联网时代,IP 地址扮演着非常重要的角色,它可以帮助我们追踪网站访问者、优化网络服务等等。而 IP 归属地则更进一步,它可以帮助我们精确地定位 IP 地址所在的地理位置,为数据分析、网络安全、市场调研等领域提供了极大的…

「业务架构」需求工程——需求验证(第4部分)

确保规定要求满足客户需求的过程。需求验证它是一个确保特定需求满足客户需求的过程。它关心的是找到需求中的问题。当这些问题在后期发现时,或者在系统投入使用后,这些问题会导致大量的返工成本。通过系统变更来修复需求问题的成本通常比修复设计或代码…

如何选择 O2OA (翱途) 开发平台的部署架构?

O2OA (翱途) 开发平台 [下称 O2OA 开发平台或者 O2OA] 支持公有云,私有云和混合云部署,也支持复杂的网络结构下的分布式部署。本篇主要介绍 O2OA (翱途) 开发平台支持的部署环境以及常用的集群部署架构。 软硬件环境说明 支持的云化平台: …

微信小程序-组件化

微信小程序-组件化 自定义组件 业务描述:代码中有多处需要引用同一段代码,需要把他封装成一个组件 流程 在根目录创建components用于存放通用组件在创建组件文件夹选择新建components 会自动生成4个文件json文件 会出现"component": true,…

Talk预告 | 浙江大学乔硕斐:语言模型提示推理综述

本期为TechBeat人工智能社区第480期线上Talk! 北京时间3月9日(周四)20:00,浙江大学计算机科学与技术硕士——乔硕斐的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “语言模型提示推理综述 ”,届时将分享对语言…

知识点学习登记备份信息

知识点记录 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ovilnIi-1681441105895)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211228090433836.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上…

计算机网络 实验三

⭐计网实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。 一、实验目的 理解路由器转发分组的机制。 理解路由表的作用、基本结构。 掌握静态路…

Redis常见命令

Redis是典型的key-value数据库,key一般是字符串,而value包含很多不同的数据类型:1. Redis通用命令 通用指令是部分数据类型的,都可以使用的指令,常见的有: - KEYS:查看符合模板的所有key- KEYS…

cm-14.1 Android系统启动过程分析(2)- init进程的启动之前的那些事(偏嵌入式方向)

声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的。本文参考了一些书籍的若干章节本文使用的代码是LineageOS的cm-14.1,对应Android 7.1.2,可以参考我的另一篇博客:如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编译…

Golang每日一练(leetDay0038) 二叉树专题(7)

目录 112. 路径总和 Path Sum 🌟 113. 路径总和 II Path Sum II 🌟🌟 114. 二叉树展开为链表 Flatten Binary Tree to Linked-list 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 …

Nacos作为注册中心和配置中心

Cloud依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><sco…

圣戈班Saint-Gobain EDI需求分析

圣戈班Saint-Gobain&#xff08;以下简称&#xff1a;圣戈班&#xff09;是一家总部位于法国的跨国公司&#xff0c;成立于1665年。它是全球领先的建筑和高性能材料解决方案提供商之一&#xff0c;产品包括玻璃、陶瓷、管道、密封材料等&#xff0c;在欧洲、北美、亚洲和南美等…

【软件测试】可以写进简历的项目巨真实

昨天逛帖子&#xff0c;看到有自学软件测试的同学苦恼于看书学习之后&#xff0c;学过的知识转瞬即忘&#xff0c;并且没有上手的测试项目&#xff0c;不管是知识巩固还是面试求职&#xff0c;都比较艰难。 其实&#xff0c;初次接触技术工作&#xff0c;遇到这样的困难是正常…

【数据结构】二叉树链式结构

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;初阶数据结构 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对…

【Linux】CentOS7.6 升级 gcc/g++

CentOS 7.6 升级 gcc/g的方法&#xff0c;不一定适用于其他linux系统 1.查看版本 g -v gcc -v当前查看版本&#xff0c;发现是4.8.5&#xff0c;这已经是2015年的旧版本了&#xff0c;对c11的支持不是很完善&#xff0c;为了方便学习和编写新版本的代码&#xff0c;升级一下还…

使用python采集分享119个PHP江湖论坛源码,总有一款适合您

分享119个PHP江湖论坛源码&#xff0c;总有一款适合您 119个PHP江湖论坛源码下载链接&#xff1a;https://pan.baidu.com/s/1Zz-GiS6WT3i16dZMz-5rvQ?pwdr416 提取码&#xff1a;r416 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 我的博客地址&#xff1a;…

【Unity URP】探讨描边方案 自定义后处理Volume

写在前面 本篇内容实现了在URP下获取深度、法线实现描边的后处理描边之前做的工作&#xff0c;包括讨论描边方案&#xff0c;以及写shader之前的自定义renderFeature和Volume组件的过程。 由于是想复刻《SCHiM》游戏里的画面风格&#xff0c;所以本篇文章的需求很明确&#x…

国网B接口调阅实时视频规范解读和代码示例分析

接口描述 国网B接口调阅实时视频&#xff0c;相关规范写的比较粗略&#xff1a; 调阅实时视频包括信令接口和媒体流接口&#xff0c;采用标准的SIP INVITESDP流程&#xff0c;媒体传输使用RTP/RTCP。 SDP 中 RTP Payload 的取值应遵守下面接口参数中的定义&#xff1a; a&a…

用低代码平台可视化设计表单

表单在前端可谓是非常常见的场景&#xff0c;而且通常需要花费开发非常多的时间来处理各种复杂的逻辑。特别是在企业中后台的业务中&#xff0c;存在着大量的表单&#xff0c;比如客户的订单&#xff0c;投诉的问题单&#xff0c;服务跟进过程每个流程的流转。凡是存在用户输入…

西安五日游规划

文章目录前言一、行前准备二、必带清单三、打卡美食四、景点地理坐标五、旅游时间轴六、景点小巴士第一天第二天第三天第四天第五天其他七、住宿八、小贴士总结前言 西安五日游。计划从北京出发&#xff0c;游玩五天&#xff0c;第五天回京。 一、行前准备 计划行程 票务预订 …