VS Code搭建C/C++开发环境

news2025/7/15 18:50:01

文章目录

    • 一、VScode 是什么?
    • 二、VScode的下载和安装
        • 1、下载
        • 2、安装
    • 三、环境介绍
        • 1、安装中文插件
    • 四、VScode配置 C/C++开发环境
        • 1、下载MinGW-w64 编译器套件
        • 2、配置MingGW64
        • 3、验证
        • 4、安装C/C++插件
    • 五、在VSCode上编写C语言代码并编译成功
        • 1、打开文件夹
        • 2、新建C语言文件,编写C语言代码
        • 3、设置C/C++编译选项:
        • 4、创建执行任务:tasks.json
        • 5、编译
        • 6、执行
        • 7、运行c++代码
    • 六、VSCode 的调试
        • 1、创建launch.json文件
        • 2、开始调试

一、VScode 是什么?

在这里插入图片描述

二、VScode的下载和安装

1、下载

下载地址:https://code.visualstudio.com/
在这里插入图片描述
进入界面后直接点击下载
下载好后在下载文件夹中就有如下可执行程序:
在这里插入图片描述

2、安装

下载下来的安装包直接双击:
在这里插入图片描述
点击下一步:
在这里插入图片描述
设置好安装路径后点击下一步:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、环境介绍

安装好后进来后是如下界面:
在这里插入图片描述

1、安装中文插件

在这里插入图片描述
在这里插入图片描述
安装好后会提示重启一下:
在这里插入图片描述

四、VScode配置 C/C++开发环境

在这里插入图片描述

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

下载地址:https://github.com/niXman/mingw-builds-binaries/releases
进入下载界面开始按如下图片一步一步进行:
在这里插入图片描述
点击后进入界面就会开始自动下载了

现在好后是一个压缩后的文件:
在这里插入图片描述
然后解压一下:
在这里插入图片描述
进入解压好后的文件夹中:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时这个文件的路径就是:C:\mingw64

2、配置MingGW64

在windows电脑上打开任务栏设置
在这里插入图片描述
打开系统>系统信息,点击高级设置
在这里插入图片描述
然后设置环境变量
在这里插入图片描述
设置系统环境变量里面的Path环境变量
在这里插入图片描述
点击编辑,然后新建路径,把我们前面添加mingw64的文件夹路径下的bin目录添加进去
在这里插入图片描述
我的mingw64文件夹放在C盘的根目录下
最后再全部确定,此时就配置好了

3、验证

win + r 打开运行窗口输入cmd
在这里插入图片描述
输入gcc --version 和 where gcc 来验证是否配置成功
在这里插入图片描述

4、安装C/C++插件

在插件中搜索c/c++,然后点击安装
在这里插入图片描述
安装完成后,重启VSCode

五、在VSCode上编写C语言代码并编译成功

1、打开文件夹

在自己的电脑里建立一个文件夹例如:
在这里插入图片描述
我就在D:\bianchen\code这个目录下建立了一个test_4_24的文件夹
然后打开VSCode选择我刚创建好的文件夹
在这里插入图片描述
在这里插入图片描述

当我们第一次使用时会出现如下情况我们:
在这里插入图片描述

2、新建C语言文件,编写C语言代码

创建C语言文件:
在这里插入图片描述
文件名随便起,我起的是test,文件后缀是.c,c语言文件的后缀必须是,c

创建好后就可以在右边区域编写代码:
在这里插入图片描述

3、设置C/C++编译选项:

在这里插入图片描述
在这里插入图片描述
然选择C/C+编辑配置(UI)
在这里插入图片描述
进入如下界面:
在这里插入图片描述
然后按照下面图片进行配置:
在这里插入图片描述
在这里插入图片描述
配置好后就会自动生成如下的文件:
在这里插入图片描述

4、创建执行任务:tasks.json

要编译代码,我们接下来,在终端中:配置任务,如下图:
在这里插入图片描述
点击进入后选择如下图选项:
在这里插入图片描述
选择后也默认生成了一个文件:
在这里插入图片描述

5、编译

在这里插入图片描述
在这里插入图片描述
然后再点击如下图后:
在这里插入图片描述
运行成功后就会生成一个可执行程序:
在这里插入图片描述

6、执行

在这里插入图片描述
在这里插入图片描述

7、运行c++代码

c++配置修改
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在终端使用g++ 加上我们要运行的文件名就可以生成可执行程序了

六、VSCode 的调试

被调试的可执行程序要由 -g 选项来生成

1、创建launch.json文件

首先点击调试,创建launch.json文件
在这里插入图片描述
然后选择C++(GDB/LLDB)如下图选项:
在这里插入图片描述
然后我们就会默认生成一个文件但里面什么都没有,需要添加配置:
在这里插入图片描述
然后选择c/c++:(gdb)启动
在这里插入图片描述
然后修改配置,如下图:
a.exe是可执行名称不固定,根据自己形成的可执行程序名称来修改
gdb.exe是我之前安装mingw64文件里bin目录下的一个可执行程序
在这里插入图片描述

2、开始调试

在这里插入图片描述

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

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

相关文章

mysql 在 dbeaver中下载驱动失败处理

直接上解决方法 1. 在mysql官网下载驱动 2. 引入dbeaver中即可 3. 最后再双击即可

Java 安全:如何防止 SQL 注入与 XSS 攻击?

Java 安全:如何防止 SQL 注入与 XSS 攻击? 在 Java 开发领域,安全问题至关重要,而 SQL 注入和 XSS 攻击是两种常见的安全威胁。本文将深入探讨如何有效防止这两种攻击,通过详细代码实例为您呈现解决方案。 一、SQL 注…

fastbev mmdetection3D 角度和方向损失

角度/方向损失 sin(a−b)sinacosb−cosasinb config参数 dir_offset0.7854, # pi/4 dir_limit_offset0, box编解码 # Copyright (c) OpenMMLab. All rights reserved. import torchfrom mmdet.core.bbox import BaseBBoxCoder from mmdet.core.bbox.builder import BBOX_COD…

一种专用车辆智能配电模块的设计解析:技术革新与未来展望

关键词:智能配电模块、STM32、CAN总线、电子开关、新能源汽车 引言:传统配电系统的痛点与智能化转型 传统配电系统依赖继电器和保险丝,存在体积大、寿命短、智能化低等缺陷(如图1)。而新能源汽车和无人驾驶技术对配电…

《深入浅出ProtoBuf:从环境搭建到高效数据序列化》​

ProtoBuf详解 1、初识ProtoBuf2、安装ProtoBuf2.1、ProtoBuf在Windows下的安装2.2、ProtoBuf在Linux下的安装 3、快速上手——通讯录V1.03.1、步骤1:创建.proto文件3.2、步骤2:编译contacts.proto文件,生成C文件3.3、步骤3:序列化…

Java实现加密(七)国密SM2算法的签名和验签(附商用密码检测相关国家标准/国密标准下载)

目录 一、国密标准中,关于SM2签名验签的定义二、SM2签名和验签的实现原理1. 前置知识2. 签名生成过程3. 验签过程4. 数学正确性证明5. 安全性与注意事项 三、带userId、不带userId的区别1. 核心区别2.算法区别(1) 哈希计算过程(2) 签名验签流程 四、Java代码实现1. …

【华为HCIP | 华为数通工程师】821—多选解析—第十七页

多选835、IS-IS协议所使用的NSAP地址主要由哪几个部分构成? A、AREA ID B、SEL C、DSCp D、SYSTEM ID 解析:NSAP地址:网络服务访问点(Network Service Access Point)是 OSI 协议中用于定位资源的地址。NSAP 的地址结构如图所示,它由 IDP(Initial Domain …

函数的定义与使用(python)

lst[:]是传入lst的拷贝。改变它对原始lst没有任何影响。 *list一个*的元素在函数体内会被当成一个元组。 以下是对图中 Python 代码的详细解释: 代码总体功能 这段代码定义了一个生成器函数 getItem ,用于依次返回多个列表中的元素。然后通过循环遍历…

List findIntersection getUnion

List findIntersection & getUnion 求两个列表的交集和并集 package zwf;import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List;/*** 列表工具类* * author ZengWenFeng* date 2025.04.22* mobile 13805029595* email 117791303qq.com*/ p…

乒乓操作(Ping-Pong)

乒乓操作 “ 乒乓操作” 是一个常常应用于数据流控制的设计思想, 典型的乒乓操作方法如下图 所示: ​ T1周期,输入数据流1缓存到数据缓冲模块1中,如上图棕色;T2周期,输入数据流2缓存到数据缓冲模块2中&…

微信小程序文章管理系统开发实现

概述 在内容为王的互联网时代,高效的文章管理系统成为各类平台的刚需。幽络源平台今日分享一款基于SSM框架开发的微信小程序文章管理系统完整解决方案,该系统实现了多角色内容管理、智能分类、互动交流等功能。 主要内容 一、用户端功能模块 ​​多角…

GrassRouter 小草MULE多5G多链路聚合通信路由设备在应急场景的聚合效率测试报告及解决方案

在应急通信场景中,快速、稳定、高效的通信链路是保障救援工作顺利开展的关键。MULE(Multi-Link Unified Link Enhancement)多链路聚合路由通信设备作为一种新型的通信技术解决方案,通过聚合多条通信链路(如4G/5G、卫星…

【MySQL】MySQL索引与事务

目录 前言 1. 索引 (index) 1.1 概念 1.2 作用 1.3 使用场景 1.4 索引的相关操作 查看索引 创建索引 删除索引 2. 索引背后的数据结构 2.1 B树 2.2 B+树的特点 2.3 B+树的优势 3. 事务 3.1 为什么使用事务 3.2 事…

华为网路设备学习-19 IGP路由专题-路由策略

一、 二、 注意: 当该节点匹配模式为permit下时,参考if else 当该节点匹配模式为deny下时: 1、该节点中的apply子语句不会执行。 2、如果满足所有判断(if-match)条件时,拒绝该节点并跳出(即不…

基于DrissionPage的表情包爬虫实现与解析(含源码)

目录 ​编辑 一、环境配置与技术选型 1.1 环境要求 1.2 DrissionPage优势 二、爬虫实现代码 三、代码解析 3.1 类结构设计 3.2 目录创建方法 3.3 图片链接获取 3.4 图片下载方法 四、技术升级对比 4.1 代码复杂度对比 4.2 性能测试数据 五、扩展优化建议 5.1 并…

区间和数量统计 之 前缀和+哈希表

文章目录 1512.好数对的数目2845.统计趣味子数组的数目1371.每个元音包含偶数次的最长子字符串 区间和的数量统计是一类十分典型的问题:记录左边,枚举右边策略前置题目:统计nums[j]nums[i]的对数进阶版本:统计子数组和%modulo k的…

全能 Sui 技术栈,构建 Web3 的未来

本文翻译自:FourPillarsFP,文章仅代表作者观点。 2025 年,SuiNetwork正在以一套全栈区块链策略强势出击,彻底打破加密行业的传统范式。正如 Mysten Labs 联合创始人 Adeniyi Abiodun 所说:“Sui 不只是一条区块链&…

linux安装单节点Elasticsearch(es),安装可视化工具kibana

真的,我安装个es和kibana,找了好多帖子,问了好几遍ai才安装成功,在这里记录一下,我相信,跟着我的步骤走,99%会成功; 为了让大家直观的看到安装过程,我把我服务器的es和ki…

RK3xxx 部分无法连接虚拟机 无法进行adb连接

我发现部分rk板子可以连接到虚拟机上,部分连接不上。其中尝试了一块是安卓系统的rk板子是可以连接虚拟机。但是用了linux系统的rk板子连接不上虚拟机。尝试了很多办法还是无法连接虚拟机。 然后也看到一些相关资料,但是太少了,只有这个链接提…

26考研——存储系统(3)

408答疑 文章目录 一、存储器概述二、主存储器三、主存储器与 CPU 的连接四、外部存储器五、高速缓冲存储器六、虚拟存储器七、参考资料鲍鱼科技课件26王道考研书 八、总结复习提示思考题常见问题和易混淆知识点 一、存储器概述 文章链接: 点击跳转 二、主存储器 文章链接: …