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

news/2024/12/2 12:47:20/

文章目录

  • 一、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.ppmy.cn/news/40433.html

相关文章

基于Tensorflow的最基本GAN网络模型

import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers import matplotlib.pyplot as plt %matplotlib inline import numpy as np import glob import os #(1)创建输入管道 # 导入原始数据 (train_images, train…

PasteSpider之项目-服务-环境介绍

在PasteSpider中,项目和服务是重要的对象,只有理解什么是项目什么是服务后配置起来才不会稀里糊涂的! 项目 PasteSpider中的项目和我们平时说的项目意思一样,比如你要开发一个在线客服系统(项目),一个商城系统(项目),…

分子生物学 第三章 基因、基因组及基因组学

文章目录第三章 基因、基因组及基因组学第一节 基因1 基因认识的三个阶段2 基因的特征(1)跳跃基因(2)断裂基因3 基因的分类4 基因的结构5 基因的大小6 基因的数目第二节 基因组1 基因组的概念2 噬菌体基因组3 细菌基因组以大肠杆菌(原核生物的代表)为研究对象4 酵母基因组以酵母…

linux常问

查看当前进程 ps -l 列出与本次登录有关的进程信息; ps -aux 查询内存中进程信息; ps -aux | grep * 查询 *进程的详细信息; top 查看内存中进程的动态信息; kill -9 pid 杀死进程。

【OJ每日一练】1138 - 身份证

文章目录 一、题目🔸题目描述🔸输入输出🔸样例1二、代码参考作者:KJ.JK🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🍂个人博客首页: KJ.JK 💖系列专栏:OJ每日一练 一、题目 🔸题目描述 如果让你设计个程序,用什么变量保存身份证号…

三次握手详解,全网最全

一、TCP 报文段简介 在介绍三次握手和四次挥手之前,先来简单认识一下 TCP 报文段的结构 TCP报文段也分为首部和数据两部分,首部默认情况下一般是20字节长度,但在一些需求情况下,会使用“可选字段”,这时,首…

如何保证接口安全,做到防篡改防重放?

对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。如果你的接口在外网裸奔,只要让黑客知道接口的地址和参数就可以调用,那简直就是灾难。 举个例子:你的网站用户注册的时候,需要填写手…

如何自学JAVA

一:Java基础知识 俗话说的好“千里之行,始于足下”,学习也是一样的从小的基础的知识点开始慢慢积累,掌握Java语言的基础知识,如面向对象、数据结构与算法、异常处理、IO框架、多线程、网络编程、设计模式、Java新特性…