VSCODE驯服日记(三):配置C++环境

news2024/11/25 2:28:34

1. 下载mingw64,解压后把bin并添加到环境变量

1>编译器介绍

  • mingw:专为windows
  • gcc:多平台
  • msvc :windows,且配合vs使用更佳

注意与调试器gdb和lldb的区别

2. 安装vscode插件:

  • 安装C/C++插件

在这里插入图片描述

  • 安装code runner 插件
    在这里插入图片描述

3. 运行程序

在不安装插件的情况下,无法运行cpp文件
在这里插入图片描述
但是如果只是安装了插件而没有装编译器,vscode也无法运行cpp。
在这里插入图片描述
在这里插入图片描述

  • 生成tasks.json

3.1 tasks.json 样例与参数详解:

3.1.1 样例

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe", // 输出文件名
                "${file}" // 源文件名
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

3.1.2 参数详解

  • type
    • cppdbg:用于 C/C++ 调试(基于 GDB 或 LLDB)。
    • node:用于 Node.js 应用程序调试。
    • python:用于 Python 应用程序调试。
    • java:用于 Java 应用程序调试。
  • request
    • luanch
    • attach
  • label:显示在终端的名称在这里插入图片描述
  • command:编译器路径,如果编译器已经在环境变量中只需要写g++.exe即可,如果没有则需要完整路径
  • args:传给编译器的参数
    • -fdiagnostics-color=always :启用带颜色的诊断输出
    • -g:生成调试信息
    • ${file}: 当前活动文件的路径
    • -o:指定输出文件
    • ${fileDirname}\\${fileBasenameNoExtension}.exe : 输出文件的路径(与当前文件同名,但扩展名为 .exe)
  • group:用于任务分组
    • build:表示任务是构建任务,编译源代码
    • test:表示该任务是测试任务,用于测试框架
  • 插件提供的功能:

3.2 launch.json 样例与参数详解

3.2.1 样例

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 可执行文件的路径
            "args": [], // 传递给程序的命令行参数
            "stopAtEntry": false, // 是否在入口处停止
            "cwd": "${workspaceFolder}", // 工作目录
            "environment": [],
            "externalConsole": false, // 是否使用外部控制台
            "MIMode": "gdb", // 使用 GDB 调试
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build", // 之前的构建任务
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe" // GDB 的路径
        }
    ]
}

3.2.1 参数详解

见上述代码的注释

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

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

相关文章

力扣之1322.广告效果

题目: sql建表语句: Create table If Not Exists Ads (ad_id int,user_id int,action ENUM (Clicked, Viewed, Ignored) ); Truncate table Ads; insert into Ads (ad_id, user_id, action) values (1, 1, Clicked); insert into Ads (ad_id, use…

Sublime Text 下载地址分享

Sublime Text官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘123云盘为您提供Sublime Text最新版正式版官方版绿色版下载,Sublime Text安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123684.com/s/kPxoTd-dCnxHSublime Text官方版下载丨最新版下…

双十一可以买什么物品?重磅推荐五款好用品牌!

距离今年的双十一盛典仅剩数十日,您是否已将心爱商品添加至购物车中了呢?还在犹豫未满载的朋友也无需焦虑,特意为您精选了五款好用的宝贝推荐,旨在为您的购物清单增添几分灵感与便捷,期待能为您的双十一购物之旅增添一…

GPU 是否有朝一日可以取代 CPU?

讨论 GPU 是否能够取代 CPU,需要从两者的基本架构、设计目的、性能表现、应用领域等多个方面进行分析。虽然你提到的4060显卡的核心频率接近服务器 CPU 的频率,这看起来似乎有一些相似性,但 GPU 和 CPU 的设计思路和适用场景差异显著&#xf…

18448 最小生成树

### 思路 使用Kruskal算法求解图的最小生成树。Kruskal算法通过对所有边按权值排序,然后逐步选择最小权值的边,确保不会形成环,直到构建出最小生成树。 ### 伪代码 1. 读取输入的结点数n和边数m。 2. 读取每条边的信息,存储在边列…

羊城杯2024WP

羊城杯-2024 web web2 进题信息搜集一下,dirsearch发现了login路由可访问,先随便点一下,发现了一个文件读取: http://139.155.126.78:30148/lyrics?lyricsRain.txt 我尝试了一下: http://139.155.126.78:30148/lyrics…

【教学类-77-02】20241007青花瓷纹理纸(手工)

背景需求: 大班《我是中国人》主题下,有一个“青花瓷”的主题,各种平面绘画 这些青花瓷花瓶、盘子都是平面的,我想能不能做个立体的,所以前期设计了“青花瓷立体卡”【教学类-77-01】20241005青花瓷立体书-CSDN博客文…

构建 10 万卡 GPU 集群的技术挑战

构建 10 万卡 GPU 集群的技术挑战 摘要 揭示AI训练集群关键基础设施挑战,探讨突破现有AI瓶颈的必要性与10万GPU集群(如OpenAI、Meta)建设所面临挑战与需求。 构建网络拓扑,需权衡多层交换机成本、带宽与维护。本文对比Ethernet与…

JDBC 快速入门

JDBC 快速入门 搭建步骤代码实现数据库java 代码 搭建步骤 准备数据库官网下载数据库连接驱动jar 包。https://downloads.mysql.com/archives/c-j/创建 java 项目,在项目下创建 lib 文件夹,将下载的驱动 jar 包复制到文件夹里选中 lib 文件夹右键 ->…

通信工程学习:什么是ICP网络内容服务商

ICP:网络内容服务商 ICP,全称Internet Content Provider,即网络内容服务商,是指那些通过互联网向用户提供各种类型内容服务的组织或个人。ICP在数字化时代扮演着至关重要的角色,它们不仅是信息的传播者,更是…

微服务获取用户信息和OpenFeign传递用户

问题一: 网关已经完成登录校验并获取登录用户身份信息。但是当网关将请求转发到微服务时,微服务又该如何获取用户身份呢? 由于网关发送请求到微服务依然采用的是Http请求,因此我们可以将用户信息以请求头的方式传递到下游微服务…

机器人技术基础(1-3章坐标变换)

位置矢量的意思是B坐标系的原点O相对于A坐标系的平移变换后的矩阵: 齐次坐标最后一个数表示缩放倍数: 左边的是T形变换矩阵,右边的是需要被变换的矩阵:T形变换矩阵的左上角表示旋转,右上角表示平移,左下角最…

使用 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力

通过 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力 文章目录 前言一、机密计算二、使用 NVIDIA H100 Tensor Core GPU 的 Azure 机密计算1. 安全功能2. 可扩展性和可编程性三、场景1. 模型机密性2. 推理/提示机密性3. 使用私有数据进行微调4. 多方培训结论前言 这是…

71.【C语言】动态内存管理(重点)(4)

本文为数据结构打下基础 备注:数据结构需要掌握指针,结构体和动态内存管理 目录 6.常见的动态内存的错误 1.对空指针解引用 2.对动态空间的越界访问 3.对非动态内存空间进行free释放 4.使用free只释放开辟的内存空间的一部分 5.对同一块动态内存多次释放 6.动态开辟的…

多线程编程-定时器

定时器相当于一个“闹钟”,在日常生活中,我们需要闹钟的辅佐,在代码中,也经常需要“闹钟”机制(网络通信中经常需设定一个超时时间)。 一.定时器的使用 在Java标准库中,也停供了定时器的实现。…

华为OD机试 - 约瑟夫问题(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

日语发音

这里写目录标题 一个视频教你搞懂日语音调!【日语入门课】小白入门轻松学!最全的日语零基础教程合集!唱儿歌学日语~(已完结) 一个视频教你搞懂日语音调! 中文 阴平(第一声&#xff…

【d61】【Java】【力扣】【递归】3304. 找出第 K 个字符 I

思路 递归考虑:就像正常一样想出来思路,然后递归调用的地方,当作一个已经确定的量(可直接说一个值,这样就不会一直向下层想) 注意绝对不要在递归调用的地方一直往下层想,绝对不要,…

C++面试速通宝典——7

150. 数据库连接池的作用 数据库连接池的作用包括以下几个方面: 资源重用:连接池允许多个客户端共享有限的数据库连接,减少频繁创建和销毁连接的开销,从而提高资源的利用率。 统一的连接管理:连接池集中管理数据库连…

传感器模块编程实践(一)AS608指纹模块简介及驱动源码

文章目录 一.概要二.AS608模块主要技术指标三.AS608模块接线说明四.AS608模块通讯协议介绍五.AS608模块指纹录入与刷指纹流程六.STM32单片机与AS608模块指纹录入与刷指纹实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 七.CubeMX工程源代码下载八.小结 一.概要 AS608 指纹…