VS Code搭建C/C++开发环境
文章目录
- 一、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、开始调试
相关文章:

VS Code搭建C/C++开发环境
文章目录 一、VScode 是什么?二、VScode的下载和安装1、下载2、安装 三、环境介绍1、安装中文插件 四、VScode配置 C/C开发环境1、下载MinGW-w64 编译器套件2、配置MingGW643、验证4、安装C/C插件 五、在VSCode上编写C语言代码并编译成功1、打开文件夹2、新建C语言文件&#x…...
6.ArkUI Row的介绍和使用
ArkUI Row 组件介绍与使用指南 什么是 Row 组件? Row 是 ArkUI 中的基础布局容器组件,用于水平(横向)排列子组件。它与 Column 组件相对应,是构建用户界面最常用的布局方式之一,类似于其他UI框架中的水平…...

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…...
力扣-hot100(滑动窗口最大值)
239. 滑动窗口最大值 困难 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums […...

一种专用车辆智能配电模块的设计解析:技术革新与未来展望
关键词:智能配电模块、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、卫星…...
筑牢数字防线:商城系统安全的多维守护策略
一、构建网络安全防护屏障 网络安全是商城系统安全的第一道防线。企业应采用先进的防火墙技术,实时监控和过滤进出网络的流量,阻止非法访问和恶意攻击。入侵检测与防御系统(IDS/IPS)也是不可或缺的安全组件,它能够及…...
Linux阻塞与非阻塞I/O:从原理到实践详解
Linux阻塞与非阻塞I/O:从原理到实践详解 1. 阻塞与非阻塞I/O基础概念 1.1 阻塞与非阻塞简介 在Linux系统编程中,I/O操作可以分为两种基本模式:阻塞I/O和非阻塞I/O。这两种模式决定了当设备或资源不可用时,程序的行为方式。 阻…...

【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)条件时,拒绝该节点并跳出(即不…...
力扣-234.回文链表
题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 class Solution { public:bool isPalindrome(ListNode* head) {//快慢指针找到中间结点p1(偶数个结点…...
Spring Boot 整合 Lock4j + Redisson 实现分布式锁实战
本文基于 Spring Boot 2.7.x MyBatis Plus 3.5.9,演示如何通过 Lock4j 与 Redisson 实现高可靠的分布式锁方案,解决高并发场景下的资源竞争问题。 一、依赖配置关键点 1.1 Maven 依赖(pom.xml) <dependency><groupId&g…...

基于DrissionPage的表情包爬虫实现与解析(含源码)
目录 编辑 一、环境配置与技术选型 1.1 环境要求 1.2 DrissionPage优势 二、爬虫实现代码 三、代码解析 3.1 类结构设计 3.2 目录创建方法 3.3 图片链接获取 3.4 图片下载方法 四、技术升级对比 4.1 代码复杂度对比 4.2 性能测试数据 五、扩展优化建议 5.1 并…...
无限debugger实现原理
1. 直接调用 debugger 关键字 代码示例: debugger; // 手动触发调试器中断特点: 最简单的方式,直接插入 debugger 语句。若未在浏览器开发者工具中禁用断点,每次执行到此代码都会暂停。反制手段:可通过浏览器开发者…...

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

全能 Sui 技术栈,构建 Web3 的未来
本文翻译自:FourPillarsFP,文章仅代表作者观点。 2025 年,SuiNetwork正在以一套全栈区块链策略强势出击,彻底打破加密行业的传统范式。正如 Mysten Labs 联合创始人 Adeniyi Abiodun 所说:“Sui 不只是一条区块链&…...
什么是爬虫?——从技术原理到现实应用的全面解析 V
什么是爬虫?——从技术原理到现实应用的全面解析 V 二十一、云原生爬虫架构设计 21.1 无服务器爬虫(AWS Lambda) # lambda_function.py import boto3 import requests from bs4 import BeautifulSoups3 = boto3.client(s3)def lambda_handler(event, context):# 抓取目标…...
(三) Trae 调试C++ 基本概念
调试C基本概念 一、调试基础概念1.1 调试信息格式1.2 DWARF格式和PDB格式生成(图解)1.3.典型工具链和调试信息 二、各工具链深度解析1. Clang 与 G 的 DWARF 差异 三 调试工具3.1 调试工具3.2 调试插件(Trae) 一、调试基础概念 1.1 调试信息格式 格式类型适用系统存在形式DWA…...

linux安装单节点Elasticsearch(es),安装可视化工具kibana
真的,我安装个es和kibana,找了好多帖子,问了好几遍ai才安装成功,在这里记录一下,我相信,跟着我的步骤走,99%会成功; 为了让大家直观的看到安装过程,我把我服务器的es和ki…...
Python项目--基于计算机视觉的手势识别控制系统
1. 项目概述 1.1 项目背景 随着人机交互技术的快速发展,传统的键盘、鼠标等输入设备已经不能满足人们对自然、直观交互的需求。手势识别作为一种非接触式的人机交互方式,具有操作自然、交互直观的特点,在智能家居、游戏控制、虚拟现实等领域…...
上海SMT贴片加工核心工艺与优化方案
内容概要 作为电子制造领域的核心环节,上海SMT贴片加工技术通过精密工艺实现元器件的高效贴装与可靠焊接。本文聚焦钢网印刷、回流焊、AOI检测等关键工艺节点,结合物料定位误差修正与BGA缺陷预防,系统阐述技术优化路径。同时,基于…...