当前位置: 首页 > article >正文

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

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.kler.cn/a/326014.html

相关文章:

  • 游戏引擎学习第78天
  • Agentless:OpenAI 采用的非代理框架
  • 代码随想录算法训练营第三十二天|509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯
  • 【UI】Vue3 + Naive-ui 使用表格Data Table 以及分页页码显示不全问题解决
  • JSON字符串转换成Java集合对象
  • 数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall
  • docker-compose 命令指定yml文件的命令
  • HTTPS证书配置
  • 【html网页制作】旅游风景主题网页制作含css动画及js特效(8页面附效果源码)
  • Hadoop搭建及Springboot集成
  • 【PyTorch】循环神经网络
  • Ubuntu磁盘不足扩容
  • 【Linux篇】常用命令及操作技巧(进阶篇 - 上)
  • 数据结构之栈和队列——LeetCode:150. 逆波兰表达式求值,224. 基本计算器,232. 用栈实现队列
  • CSS 的user-select属性,控制用户是否能够选中文本内容
  • Java知识要点及面试题
  • 确保从IP池提取的IP是可用的对于数据抓取或其他网络活动至关重要。以下是一些确保IP可用性的有效方法:
  • 创新车展模式 焕新直播生态——第十一届麓谷汽车文化节圆满收官
  • 2024前端技术发展概况
  • Linux RCE 利用打印机服务 CVE-2024-47177
  • 【Redis】初识 Redis
  • 城市空间设计对居民生活质量的影响:构建宜居城市的蓝图
  • 基于SpringBoot实现QQ邮箱发送短信功能 | 免费短信服务