Visual Studio Code 的C++环境配置和调试

2023-05-16

目录

前言:

1.为什么要写这篇文章?

2.为什么选择VS Code?

3.如何联系我?

简而言之,VS Code免费+快速+好用+潜力无穷;

一.安装VS Code:

二.配置C/C++环境:

步骤1:寻找MinGw编译器;

步骤2:添加环境变量:

步骤3:开始着手VS Code工作;

三.C/C++调试文件配置;


前言:

1.为什么要写这篇文章?

新学期学习C++,显然Dev Cpp编译器停止了更新,难免老旧。因此,我们需要一个新的支持C++环境的代码编辑器或IDE。

2.为什么选择VS Code?

1.Visual studio 2022很专业,但操作繁琐,难免不适合初学者,如果仅仅配置C++插件和工具,就需要17.89G;

2.Codeblocks的UI颜值偏低,不能激起我学习C++的兴趣。而且,创建C++文件时的操作思路和上学期使用的Dev Cpp逻辑不同;

3.VS Code拥有强大的插件,较低的内存占用和极快的反应速度,适合初学者;

4.VS Code支持多种背景,支持简体中文;

3.如何联系我?

wei.haoran@outlook.com

hrwei.cn@outlook.com

时间仓促,请不吝赐教;

简而言之,VS Code免费+快速+好用+潜力无穷;

学习之路道阻且长,感谢所有支持我,亦或是给予我灵感的人!


一.安装VS Code:

        1.前往VS Code下载安装:Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/

二.配置C/C++环境:

1.VS Code本质上是一个代码编辑器,并不自带编译器。因此,我们需要自行下载MinGw编译器;

Codeblocks内置完整的MinGw编译器,因此我们可以通过环境变量配置的方法间接得到MinGw编译器;

2.肯定有同学会问,为什么不去MinGw官网下载?由于网络原因和其他原因,在我尝试以后,发现这种解决方案并不快速。要知道,我们的目标是学习C++语言,重点不在C++的环境配置,所以我们可以使用现成的编译器。

步骤1:寻找MinGw编译器;

 OK,复制bin文件夹的地址。

步骤2:添加环境变量:

设置-系统-关于-高级系统设置-高级-环境变量-Path-新建;

尔后,将步骤一的bin文件夹地址粘入;

步骤3:开始着手VS Code工作;

1.C++插件推荐:前5项必装,Code Runner选装;(Ctrl + Shift + X);

2.VS Code背景切换:Ctrl K + Ctrl T;推荐Monokai Dimmed;

3.Test代码:

#include<iostream>
//A class can have multiple public,private and protected label areas;
//Each marked area is valid until the next marked area begins or until the closing closing bracket of the class body is encountered.
//The default access modifier for members and classes is private;
using namespace std;
//public example;
class Line{
    public:
    int length;
    void setlength(int len);
    int showlength(void);
};
void Line::setlength(int len){
    length = len;
}
int Line::showlength(void){
    return length;
}

int main(){
    Line line1;
    int a;

    cout<<"Please enter the length that you prefer:"<<endl;
    cin>>a;
    line1.setlength(a);//normal operation;
    int result = line1.showlength();
    cout<<"The length which you have entered is "<<result<<endl;

    cout<<"Again:"<<endl;
    cin>>line1.length;//OK,length is public access modifier;
    cout<<"The length which you have entered is "<<line1.length<<endl;
    return 0;
}

 4.插件安装完成以后,选择编译(Ctrl + Shift + Build,C语言选择gcc,C++选择g++,如图所示:

步骤2的小三角安装Code Runner后会出现;

 5.Nice,完成!

三.C/C++调试文件配置;

推荐阅读:Debugging in Visual Studio Code

1.文件夹及其文件名不能出现中文名,否则报错;

2.在调试的文件夹内,新建.vscode文件夹,新建两个文件:launch.json & tasks.json;

3.launch.json:

注意:

miDebuggerPath的设置,与gdb.exe地址一致,gdb.exe在bin文件夹内;

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${fileDirname}即代码所在目录
            "environment": [],
            "externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",
            "miDebuggerPath": "C://Program Files//CodeBlocks//MinGW//bin//gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        },
    ]
}

 4.tasks.json

{
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}.exe"
    ],
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": [
            "relative",
            "${workspaceRoot}"
        ],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

5.设置断点,尔后Ctrl + Shift + D调试;

 6.Nice,完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio Code 的C++环境配置和调试 的相关文章

  • 网络基础-linux应用编程和网络编程第8部分-朱有鹏-专题视频课程

    网络基础 linux应用编程和网络编程第8部分 4548人已学习 课程介绍 本课程是网络编程部分的前奏 xff0c 主要讲解了网络相关的一些基础知识 xff0c 譬如网络编程的架构 xff0c 网卡 路由器 集线器 交换机 DHCP NAT
  • Ubuntu 20.04 LTS安装教程

    下载ubuntu 20 04 desktop amd64 iso系统镜像 xff0c 利用软碟通写入U盘或是刻录光盘启动安装 xff08 此次安装环境为联想ThinkPad E570 xff0c 内存为500G 43 128G xff09
  • TypeScript

    什么是TypeScript typescript是拥有类型的javaScript超集 它可以编译成普通 干净 完整的js代码 ES3 js所拥有的内容ts都支持 并且js有es678 ts也都支持这些语法 ts拥有独特的一些数据类型 枚举
  • VNC远程连接树莓派的IP问题

    在进行VNC远程连接树莓派的时候 xff0c 需要输入树莓派的IP地址 xff0c 我首先使用了 hostname i的指令 xff0c 但是这个显示连接失败 xff0c 拒绝访问 xff0c 后来发现hostname i是获取了主机名 正
  • VNC链接和配置

    1 创建vnc进程ID xff1a vnc4server 2 关掉vnc进程 xff1a vncserver kill lt portnum gt vncserver kill 28 3 设置vnc分辨率 xff1a vnc4server
  • Ubuntu系统下Python基础库的安装以及pip和pip3常见报错解答

    Ubuntu系统下Python基础库的安装以及pip和pip3常见报错解答 安装python依赖库Python基础库安装Python项目requirements文件的生成和使用1 生成requirements txt方法一 xff1a pi
  • 嵌入式服务器boa移植

    移植嵌入式服务器boa的过程 xff0c 在论坛里面可以搜到好多 xff0c 其中也会有出现错误时对应的解决方法 xff0c 在这里就不赘述了 在这里我介绍一下我移植过程中出现的问题 xff1a boa not found 总结一下这个问题
  • 【深度学习-tensorflow】使用Tensorflow Lite部署模型时遇到不支持tf.keras.layers.UpSampling2D()函数问题的解决方法

    在工作中遇到的一个问题 xff0c 记录一下 在模型转化为tflite之后 xff0c 进行模型的部署 xff0c 之后遇到的使用Tensorflow Lite部署模型时遇到不支持tf keras layers UpSampling2D 函
  • Anaconda3安装好后“pip、python不是内部或外部命令,也不是可运行的程序或批处理文件”的问题解决

    这种情况就是环境配置的问题 xff0c 系统找不到你的python和pip xff0c 因此需要配置相应的环境变量 重点来了 xff01 xff01 xff01 相信很多人说 xff0c 我明明配置好了环境变量为什么还是显示错误 xff1f
  • 解决Maven的project标签(爆红) 插架无法导入

    目录 问题描述 解决方案 1 利用开发工具 idea 自动导入 2 pom依赖自动导入 错误原因 解决问题 3 网站下载插件 4 去本地仓库解决插件报红状态 4 1错误原因 4 2解决方法 问题描述 在拉取项目的时候project标签报错
  • typora全局替换文本

    主要讲解在typora中如何将整个文档中所有的字段替换为另一个字段 例如对于下面的句子 xff0c 需要把 曲面重建 全部改为 曲面三维重建 首先按ctrl 43 f打开全局搜索框 xff0c 在最顶上会弹出 xff0c 在这里输入需要替换
  • linux网络编程实践-linux应用编程和网络编程第9部分-朱有鹏-专题视频课程

    linux网络编程实践 linux应用编程和网络编程第9部分 14177人已学习 课程介绍 本课程是网络编程实践部分 xff0c 带大家使用socket接口及其相关函数 xff0c 从头编写一个服务器和客户端的通信程序 xff0c 并且引出
  • 链路聚合的原理以及配置

    链路聚合的原理以及配置 一 链路聚合的概述二 链路聚合的原理三 链路聚合的配置 一 链路聚合的概述 链路聚合 xff08 Link Aggregation xff09 是将两个或更多数据信道结合成一个单个的信道 xff0c 该信道以一个单个
  • 关于逻辑回归完成手写数字识别的一点愚蠢错误回顾

    最近的机器学习课上作业里要我们完成通过神经网络和逻辑回归进行手写数字的识别任务 xff0c 神经网络的部分通过课上的辅助教材 xff1a 神经网络与深度学习 其中所提供的代码足以完成 xff0c 另外这本书真的写的很好 xff0c 在易读性
  • OpenCV安装及其开发环境配置(C++)

    目录 第一章 Opencv安装及其环境变量配置 1 1下载并安装OpenCV 1 2 OpenCV环境变量配置 第二章 Visual Studio 2019 编译器下载安装 第三章 OpenCV开发环境配置 C 43 43 3 1创建项目
  • 目标检测中的anchor-base与anchor-free

    前言 本文参考目标检测阵营 Anchor Base vs Anchor Free 如何评价zhangshifeng最新的讨论anchor based free的论文 知乎 基础知识 目标检测中Anchor的认识及理解 目标检测领域的发展从a
  • 【论文合集】RGBD Semantic Segmentation

    来源 xff1a GitHub Yangzhangcst RGBD semantic segmentation A paper list of RGBD semantic segmentation processing RGBD seman
  • webpack实战(巨详细)

    先附上官网地址 xff1a 概念 webpack 中文网 了解下概念后 xff0c 一起开始webpack之旅吧 一 开始 首先在安装之前 xff0c 需要安装node xff0c 因为webpack的运行是依赖Node环境的 xff0c
  • qcow2格式的虚拟机镜像转换为vdi格式

    VirtualBox不能直接操作qcow2镜像 xff0c 在Windows上暂时没有找到其他替代工具 xff0c 还是需要先有一个CentOS虚拟机来运行qemu img命令 将qcw2的镜像导入或通过挂载的方式传输到Centos的虚拟机
  • 简单的彩票小程序(双色球含机选及自选)

    话不多说直接上代码 package com import java util public class curriculum public static void main String args 机选 int times 61 100 L

随机推荐

  • IDEA设置JDK版本

    idea更换版本需全更改一致 鼠标点击file gt setting xff0c 进入idea的设置页面settings xff0c 根据截图操作 然后 xff0c 鼠标点击file gt Project Structure 1 7版本 1
  • 3步教会你使用VNC Viewer远程连接控制树莓派桌面(详细)

    目录 1 查询IP地址 1 1 路由器后台查询 1 2 树莓派内查询 2 开启VNC服务 3 打开VNC Viewer进行连接 1 查询IP地址 1 1 路由器后台查询 打开路由器后台 xff0c 我这以腾达为例 xff0c 在浏览器输入
  • 驱动应该怎么学-linux驱动开发第1部分-朱有鹏-专题视频课程

    驱动应该怎么学 linux驱动开发第1部分 4059人已学习 课程介绍 本课程是linux驱动开发的第一个课程 xff0c 主要介绍linux驱动的概念 模块化设计理念 分类 安全性要求 xff0c 后讲解了linux驱动课程的整体学习方法
  • 安装DEV-C++5.11(无捆绑)

    安装网址 或者点这儿直接下载 xff09 DEV C 43 43 https pc qq com detail 16 detail 163136 html https pc qq com detail 16 detail 163136 ht
  • 中国大学慕课第7周测验

    1 单选 1分 写出下面程序的运行结果 include lt stdio h gt void Bin int x if x 2 gt 0 Bin x 2 printf 34 d n 34 x 2 int main Bin 12 return
  • 基于深度强化学习的智能船舶航迹跟踪控制

    基于深度强化学习的智能船舶航迹跟踪控制 人工智能技术与咨询 昨天 本文来自 中国舰船研究 xff0c 作者祝亢等 关注微信公众号 xff1a 人工智能技术与咨询 了解更多咨询 xff01 0 引 言 目前 xff0c 国内外对运载工具的研究
  • 面向区块链的高效物化视图维护和可信查询

    面向区块链的高效物化视图维护和可信查询 人工智能技术与咨询 来源 xff1a 软件学报 xff0c 作者蔡 磊等 摘 要 区块链具有去中心化 不可篡改和可追溯等特性 可应用于金融 物流等诸多行业 由于所有交易数据按照交易时间顺序存储在各个区
  • 基于迁移深度学习的雷达信号分选识别

    基于迁移深度学习的雷达信号分选识别 人工智能技术与咨询 来源 xff1a 软件学报 xff0c 作者王功明等 摘要 针对当前雷达信号分选识别算法普遍存在的低信噪比下识别能力差 特征参数提取困难 分类器模型参数复杂等问题 xff0c 提出了一
  • 基于深度学习的磁环表面缺陷检测算法

    基于深度学习的磁环表面缺陷检测算法 人工智能技术与咨询 来源 xff1a 人工智能与机器人研究 xff0c 作者罗菁等 关键词 缺陷检测 xff1b 深度学习 xff1b 磁环 xff1b YOLOv3 xff1b 摘要 在磁环的生产制造过
  • 基于PX4的地面无人车避障系统及路径规划研究

    基于PX4的地面无人车避障系统及路径规划研究 人工智能技术与咨询 来源 xff1a 动力系统与控制 xff0c 作者姜琼阁等 关键词 地面无人车 xff1b 避障 xff1b PX4 xff1b 摘要 地面无人车避障及路径规划是指 xff0
  • 基于图像的数据增强方法发展现状综述

    基于图像的数据增强方法发展现状综述 人工智能技术与咨询 2022 03 22 20 57 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者冯晓硕等 关键词 数据增强 xff1b 图像数据集 xff1b 图像处理 xf
  • 基于改进SSD算法的小目标检测与应用

    人工智能技术与咨询 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者刘洋等 关键词 SSD xff1b 深度学习 xff1b 小目标检测 摘要 xff1a 摘要 针对通用目标检测方法在复杂环境下检测小目标时效果不佳
  • 组网雷达融合处理组件化设计与仿真

    人工智能技术与咨询 点击蓝色 关注我们 关键词 xff1a 组网雷达 点迹融合 航迹融合 组件化设计 仿真 摘要 数据融合处理是多雷达组网的核心 以典型防空雷达网为参考对象 xff0c 采用组件化设计方式 xff0c 将组网数据融合处理过程
  • 字符设备驱动基础-linux驱动开发第2部分-朱有鹏-专题视频课程

    字符设备驱动基础 linux驱动开发第2部分 5673人已学习 课程介绍 本课程是linux驱动开发的第2个课程 xff0c 从零开始带领大家逐渐熟悉内核模块 xff0c 并且一步步写出一个字符设备驱动程序来控制LED等 本课程对驱动的学习
  • 人工智能 知识图谱

    关于举办 2022年数字信息化培训项目系列 知识图谱Knowledge Graph构建与应用研修班线上课程的通知 各有关单位 一 培训目标 本次课程安排紧密结合理论与实践 xff0c 深入浅出 xff0c 循序渐进 从基本概念讲起 xff0
  • 深度学习(Deep Learning)

    知识关键点 1 人工智能 深度学习的发展历程 2 深度学习框架 3 神经网络训练方法 4 卷积神经网络 xff0c 卷积核 池化 通道 激活函数 5 循环神经网络 xff0c 长短时记忆 LSTM 门控循环单元 GRU 6 参数初始化方法
  • 基于深度学习的机器人目标识别和跟踪

    如今 xff0c 深度学习算法的发展越来越迅速 xff0c 并且在图像处理以及目标对象识别方面已经得到了较为显著的突破 xff0c 无论是对检测对象的类型判断 xff0c 亦或者对检测对象所处方位的检测 xff0c 深度学习算法都取得了远超
  • 散列表与探测法

    动态查找的时候 如果用查找树同时对俩个变量名 字符串 进行查找 会导致效率不高的问题 引入散列的思想 把字符串变成数字 使得对字符串的比较变成对数字的比较 查找方式时间复杂度顺序查找O n 二分查找 静态查找 O log2N 二叉搜索树O
  • Springboot实现VNC的反向代理

    背景 用户需要通过前端HTML页面的noVNC xff08 noVNC是什么 xff1f xff09 客户端连接底层VNC Server服务端 xff0c 为了防止VNC Server的IP暴露 xff0c 因此需要做一层代理 正常情况下使
  • Visual Studio Code 的C++环境配置和调试

    目录 前言 xff1a 1 为什么要写这篇文章 xff1f 2 为什么选择VS Code xff1f 3 如何联系我 xff1f 简而言之 xff0c VS Code免费 43 快速 43 好用 43 潜力无穷 xff1b 一 安装VS C