vscode中如何配置c/c++环境

“批判他人总是想的太简单 剖析自己总是想的太困难”

文章目录

  • 前言
    • 文章有误敬请斧正 不胜感恩!
      • 一、准备工作
      • 二、安装 VSCode 插件
      • 三、配置 VSCode
        • 1. 配置编译任务(tasks.json)
        • 2. 配置调试器(launch.json)
      • 四、运行和调试
      • 五、常见问题与解决
  • 总结


前言

写在开始:

VS Code 是一款由微软开发的免费代码编辑器,支持多种编程语言,如 Python、JavaScript、C++、Go 等。它拥有丰富的插件市场,可以根据你的需求自由扩展功能,如语法高亮、代码补全、调试工具、Git 集成等,是开发者们的“神器”。
用VScode来写C/C++更加方便一点,不用下那么大的visualstudio.


文章有误敬请斧正 不胜感恩!

以下是本篇文章正文内容,


一、准备工作

  1. 安装 VSCode

    • 前往 VSCode 官网下载最新版本,并根据系统提示完成安装。
  2. 安装 C++ 编译器

    • Windows:推荐使用 MinGW-w64 作为 C++ 编译器。下载时选择 x86_64 版本以支持 64 位开发。

      • 安装时选择 mingw32-gcc-g++ 组件。
      • 完成安装后,将 MinGW 的 bin 目录(如 C:\mingw-w64\bin)添加到系统的环境变量 PATH 中:
        1. 打开“控制面板” -> “系统和安全” -> “系统”。
        2. 点击“高级系统设置” -> “环境变量”。
        3. 找到“系统变量”中的 Path,双击编辑,点击“新建”,然后输入 MinGW 的 bin 路径。
    • Linux:打开终端,输入以下命令安装 GCC:

      sudo apt-get update
      sudo apt-get install build-essential
      
    • macOS:在终端中输入以下命令安装 Xcode 命令行工具:

      xcode-select --install
      

二、安装 VSCode 插件

  1. C/C++ 插件

    • 打开 VSCode,点击左侧的扩展图标(或按 Ctrl+Shift+X)。
    • 搜索 C/C++,找到由 Microsoft 提供的插件,点击“安装”。
      在这里插入图片描述
  2. Code Runner 插件(可选)

    • 搜索并安装 Code Runner 插件。它可以通过右键菜单直接运行代码,是快速测试代码的好帮手。

三、配置 VSCode

VSCode 本身并没有自带的编译功能,所以我们需要设置编译和调试任务。

1. 配置编译任务(tasks.json)
  • 创建一个 C++ 文件,例如 main.cpp,写入以下简单代码:

    #include <iostream>int main() {std::cout << "Hello, World!" << std::endl;return 0;
    }
    
  • 按下 Ctrl+Shift+B,VSCode 会提示设置构建任务,选择 Create tasks.json file from template,然后选择 Others

  • 编辑生成的 tasks.json,使其看起来如下:

    {"version": "2.0.0","tasks": [{"label": "build","type": "shell","command": "g++","args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],"group": {"kind": "build","isDefault": true},"problemMatcher": ["$gcc"],"detail": "Generated task by VS Code"}]
    }
    
  • 关键字段解释:

    • "command": "g++":使用 g++ 作为编译器。
    • "args":编译参数,-g 开启调试信息,${file} 表示当前文件,-o 用于指定输出文件名。
    • ${fileDirname}${fileBasenameNoExtension} 会自动根据当前文件路径和名称生成可执行文件。
2. 配置调试器(launch.json)
  • 按下 F5,VSCode 会提示配置调试器,选择 C++ (GDB/LLDB)

  • 在生成的 .vscode 目录下找到 launch.json 文件,修改如下:

    {"version": "0.2.0","configurations": [{"name": "g++ - 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": true,"MIMode": "gdb","setupCommands": [{"description": "启用 gdb 的漂亮打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "build","miDebuggerPath": "gdb","logging": { "engineLogging": true }}]
    }
    
  • 关键字段解释:

    • "program":指定运行的可执行文件路径。
    • "miDebuggerPath": "gdb":指定调试器的路径,Windows 用户确保 gdb 已安装。
    • "preLaunchTask": "build":调试前自动执行编译任务。

四、运行和调试

  1. 编译程序
    Ctrl+Shift+B 执行编译,检查终端是否输出“成功生成”的信息。

  2. 运行程序
    在终端直接输入生成的 .exe 文件名,或通过 Code Runner 插件右键运行。

  3. 调试程序
    F5 启动调试,可以添加断点(在代码行号左侧点击),观察变量值,单步执行。

五、常见问题与解决

  1. 编译错误:找不到 g++

    • 确保 MinGW-w64 的 bin 目录已正确添加到环境变量 PATH,并重启 VSCode。
  2. 调试时无法启动 gdb

    • 检查 launch.jsonmiDebuggerPath 是否正确,或尝试指定 gdb 的完整路径。
  3. 中文字符显示乱码

    • 编译时添加参数 -fexec-charset=GBK 可以解决 Windows 下的编码问题。

总结

以上就是在 VSCode 配置 C/C++ 环境的详细步骤。配置好环境才能顺利运行 C++ 代码,
还能进行debug,跟踪程序执行的每一步。
如果遇到问题,别忘了多看看编译和调试信息,这些是解决big的关键。
祝各位大佬编程愉快!


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitee Pipeline 从入门到实战【详细步骤】

文章目录 Gitee Pipeline 简介Gitee Pipeline 实战案例 1 - 前端部署输入源NPM 构建Docker 镜像构建Shell 命令执行案例 2 - 后端部署全局参数输入源Maven 构建Docker 镜像构建Shell 命令执行参考🚀 本文目标:快速了解 Gitee Pipeline,并实现前端及后端打包部署。 Gitee Pi…

Fabric:布匹纺织缺陷检测数据集(猫脸码客 第195期)

布匹数据集在纺织工业中的应用与探索&#xff1a;从布匹检索到纹理检测 引言 在快速发展的纺织工业中&#xff0c;信息技术的深度融合正逐步推动产业向智能化、精细化转型。其中&#xff0c;布匹数据集作为连接传统制造与数字技术的桥梁&#xff0c;其在布匹检索、纹理检测等…

【数据结构与算法 | 灵神题单 | 二叉搜索树篇】力扣99, 1305, 230, 897

1. 力扣99&#xff1a;恢复二叉搜索树 1.1 题目&#xff1a; 给你二叉搜索树的根节点 root &#xff0c;该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下&#xff0c;恢复这棵树 。 示例 1&#xff1a; 输入&#xff1a;root [1,3,null,null,2] 输出&…

Python “函数” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业

本文主要是作为Python中函数的一些题目&#xff0c;方便学习完Python的函数之后进行一些知识检验&#xff0c;感兴趣的小伙伴可以试一试&#xff0c;含选择题、判断题、实战题、填空题&#xff0c;答案在第五章。 在做题之前可以先学习或者温习一下Python的函数&#xff0c;推荐…

第一次安装Pytorch

1、新版本的Anaconda内置的python版本是3.12&#xff0c; 目前 Windows 上的 PyTorch 仅支持 Python 3.8-3.11;不支持 Python 2.x。 1、创建运行环境 在不创建虚拟环境的情况下&#xff0c;不建议使用最新的Python和Anaconda。 在几次失败后&#xff0c;我使用的是Anaconda3-2…

Java反序列化利用链篇 | CC6链分析(通用版CC链)

文章目录 CC6和CC1之间的区别CC6的调用链构造CC6的payload完成TiedMapEntry.getValue()完成TiedMapEntry.hashCode()完成HashMap.hash()及HashMap.readObject()解决hash()方法提前触发的问题 系列篇其他文章&#xff0c;推荐顺序观看~ Java反序列化利用链篇 | JdbcRowSetImpl利…

【python计算机视觉编程——10.OpenCV】

python计算机视觉编程——10.OpenCV 10.OpenCV10.2 OpenCV基础知识10.2.1 读取和写入图像10.2.2 颜色空间10.2.3 显示图像及结果 10.3 处理视频10.3.1 视频输入10.3.2 将视频读取到NumPy数组中 10.4 跟踪10.4.1 光流10.4.2 Lucas-Kanade算法使用跟踪器使用发生器 10.5 更多示例…

Jmeter进行http接口测试,这一篇就搞定

jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤&#xff08;1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL&#xff0c;路径&#xff0c;请求方式&#xff0c;参数 4.添加查看结果树 5.调用接口&#xff0c;查看返回值&#xff09; 针对接口添加heade…

2025年最新大数据毕业设计选题-基于Hive分析相关

选题思路 回忆学过的知识(Python、Java、Hadoop、Hive、Sqoop、Spark、算法等等。。。) 结合学过的知识确定大的方向 a. 确定技术方向&#xff0c;比如基于Hadoop、基于Hive、基于Spark 等等。。。 b. 确定业务方向&#xff0c;比如民宿分析、电商行为分析、天气分析等等。。。…

09年408考研真题解析-计算机网络

[题34]在无噪声情况下&#xff0c;若某通信链路的带宽为3kHz&#xff0c;采用4个相位&#xff0c;每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是&#xff08;B&#xff09; A.12 kbps B.24 kbps C.48 kbps D.96 kbps 解析&#xff…

基于协同过滤+SpringBoot+Vue的剧本杀服务平台系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤JavaSpringBootV…

Java 技巧 如何在IDEA2024 中快速打出System.out.println();

1.基本用法 键入sout回车 回车后变成&#xff1a; 2.打印变量 快速打印变量,以打印变量名为set为例&#xff0c;set.sout回车&#xff0c; 回车后变成

Java 每日一刊(第13期):this super static

“优秀的代码不仅仅是给机器看的&#xff0c;更是给人看的。” 前言 这里是分享 Java 相关内容的专刊&#xff0c;每日一更。 本期将为大家带来以下内容&#xff1a; this 关键字super 关键字static 关键字 this 关键字 this 关键字是 Java 中最常见的关键字之一&#xf…

pg入门18—如何使用pg gis

1. 下载postgre gis镜像 2. 运行镜像 docker run -p 15432:5432 -d -e POSTGRES_PASSWORDAb123456! postgis/postgis:12-3.4-alpine 3. 使用gis # 进入容器&#xff0c;登录pgdocker exec -it bash# 登录数据库psql -U postgres# 创建数据库CREATE DATABASE mygeotest;# 使用…

计算机毕业设计之:教学平台微信小程序(

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Linux —— 多线程

一、本篇重点 1.了解线程概念&#xff0c;理解线程与进程区别与联系 2.理解和学会线程控制相关的接口和操作 3.了解线程分离与线程安全的概念 4.学会线程同步。 5.学会互斥量&#xff0c;条件变量&#xff0c;posix信号量&#xff0c;以及读写锁 6.理解基于读写锁的读者写…

用 HTML + JavaScript DIY 一个渐进式延迟法定退休年龄测算器

为减轻社会和个人因退休年龄变化带来的冲击&#xff0c;近日&#xff0c;全国人民代表大会常务委员会正式发布了关于实施渐进式延迟法定退休年龄的重要决定。 根据该决定&#xff0c;我国将同步启动对男、女职工法定退休年龄的延迟计划。这一调整将采取渐进式的方式进行&#…

第十二周:机器学习笔记

第十二周周报 摘要Abstract机器学习1. Recurrent Neural Network&#xff08;下&#xff09;1.1 RNN的Loss Function怎么求&#xff1f;1.2 RNN奇怪的特性1.3 如何解决 RNN 梯度消失或者爆炸1.4 RNN 其他应用 Pytorch学习1. 现有的网络模型使用以及其修改1.1 在VGG16模型添加Mo…

python-3n+1数链/233

一&#xff1a;3n1数链题目描述 在计算机科学上&#xff0c;有很多类问题是无法解决的&#xff0c;我们称之为不可解决问题。然而&#xff0c;在很多情况下我们并不知道哪一类问题可以解决&#xff0c;哪一类问题不可解决。现在我们就有这样一个问题&#xff0c;问题如下&#…

win11 wsl2安装ubuntu22最快捷方法

操作系统是win11&#xff0c;wsl版本是wsl2&#xff0c;wsl应该不用多介绍了&#xff0c;就是windows上的虚拟机&#xff0c;在wsl上可以很方便的运行Linux系统&#xff0c;性能棒棒的&#xff0c;而且wsl运行的系统和win11主机之间的文件移动是无缝的&#xff0c;就是两个系统…