VSCode配置C/C++开发环境|最新教程202502

📢 ‌Windows版VSCode配置C/C++开发环境(单文件+多文件全解析)‌

一、 ‌环境准备‌

✅‌必需工具‌:Visual Studio Code 2025‌

✅扩展插件‌:C/C++(Microsoft官方扩展)📢 这个必须安装!!!

可选扩展插件‌:Code Runner(一键执行代码)、C/C++ Compile Run(多文件编译优化版)

‌✅编译器‌下载:MinGW-w64 12.3.0(支持C++23标准,需勾选posix线程模型和seh异常处理)

🛠️下载链接:https://sourceforge.net/projects/mingw-w64/

图片

将上述文件【解压到D盘】,其实是一个mingw64文件夹,里面的文件如下图所示。

图片

❗mingw-64-v11.0.0.zip 这个文件貌似不可用,一定要注意!

‌✅编译器配置环境变量

步骤‌‌1:右击【此电脑】选择【属性】

步骤‌‌2:点击左边的【高级系统设置】,点击下方的【环境变量】

图片

步骤‌‌3:在下方的【系统变量】中找到【Path】双击编辑,通过【新建】将MinGW的bin目录(如D:\mingw64\bin)加入系统PATH

图片

步骤‌‌4:‌验证安装‌,Win+R,cmd终端执行 gcc --version显示版本号即成功。

图片

二、 ‌C语言开发测试‌

图片

        打开软件后会有这样一份【C++开发入门】新手引导文档,包含5个步骤,如果没看到这个文档也没有关系。

【2.1单文件程序‌】

  • 首先,你需要新建一个专门存放C代码的文件夹(例如E:\CodeCLanguage\C1)。

  • 然后,在VS code打开该文件夹(C1)

  • 添加源程序文件(Hello.c),后缀为*.c,并在里面添加具体内容。

  • 点击右上角三角形,运行程序。

#include <stdio.h>  // 包含标准输入输出头文件
int main()          // 主函数,程序执行的入口点
{        
    printf("Hello, World!\n");  // 使用printf函数输出字符串到控制台
    printf("吹喇叭!\n");  
    return 0;       // 程序正常结束,返回0
}

        运行结果如下。

图片

        如果出现#include错误,点击黄色小灯泡求救,在【C/C++配置】中修改编译器路径,选择【gcc.exe】(例如D:/mingw64/bin/gcc.exe)

图片

【2‌.2多文件项目‌】

  • 首先,将上述C1文件夹复制一份,更名为DC1。

  • 然后,在VS code打开该文件夹(DC1)

  • 修改.vscode里面的 tasks.json文件 的两个位置。

    第1处://"${file}",
    
         采用"*.c",  //编译当前文件夹下所有的.c文件
    
    第2处://"${fileDirname}\\${fileBasenameNoExtension}.exe"
    
         采用 "${fileDirname}\\out.exe"

    图片

  • 添加源程序文件(main.c | max.c | max.h),后缀分别为*.c和*.h,并在里面添加具体内容。

  • 点击右上角三角形,运行程序。

//main.c
#include <stdio.h>
#include "max.h"
int main() 
{
    int num1, num2;
    printf("请输入两个整数(用空格分隔): ");
    scanf("%d %d", &num1, &num2);
    int result = max(num1, num2);  // 调用函数
    printf("较大的数是:%d\n", result);
    
    return 0;
}
//max.c
int max(int x, int y) 
{
    return (x > y) ? x : y;  // 涓夌洰杩愮畻绗︾畝鍖栭€昏緫
}
    //max.h
    int max(int x, int y);  // 函数原型声明

            运行结果如下: 

      图片

      三、 ‌C++开发测试‌

      图片

      ‌        打开软件后会有这样一份【C++开发入门】新手引导文档,包含5个步骤,如果没看到这个文档也没有关系。

      【3.1单文件程序‌】

      • 首先,你需要新建一个专门存放C++代码的文件夹(例如E:\CodeCLanguage\Cpp1)。

      • 然后,在VS code打开该文件夹(Cpp1)

      • 添加源程序文件(hello.cpp),后缀为*.cpp,并在里面添加具体内容。

      • 点击右上角三角形,运行程序。

      #include <iostream>   // 输入输出头文件
      using namespace std;  // 命名空间声明
      int main() {          // 主函数入口
          cout << "Hello, World!" << endl;  // 输出语句
          return 0;         // 程序结束返回值
      }

              对于打开的*.cpp文件,选择调试器为【C++(GDB/LLDB)】

      图片

              选择调试配置为【C/C++: g++.exe】

      图片

              程序运行结果如下图所示。

      图片

      【3.2多文件项目‌】‌

      • 首先,将上述Cpp1文件夹复制一份,更名为DCpp1。

      • 然后,在VS code打开该文件夹(DCpp1)

      • 修改.vscode里面的tasks.json文件的两个位置。

      第1处:
      
      "${workspaceFolder}\\*.cpp",    //编译当前工作空间下所有的*.cpp文件
      
      第2处:
      
      "${workspaceFolder}\\out.exe"   //输出文件名称

      图片

      • 添加源程序文件(main.cpp | min.cpp | min.h),后缀分别为*.cpp和*.h,并在里面添加具体内容。

      • 点击右上角三角形,运行程序。

      //main.cpp
      #include <iostream>   // 输入输出头文件
      #include "min.h"
      using namespace std;  // 命名空间声明
      int main() {          // 主函数入口
          
          //cout << "Hello, World!" << endl;  // 输出语句
          int a = Min(5,30);
          cout << "最小值为:" << a << endl; 
          return 0;         // 程序结束返回值
      }
        //min.cpp
        int Min(int x, int y) 
        {
            return (x < y) ? x : y;  // 三目运算符简化逻辑
        }
          //min.h
          int Min(int x, int y);  // 函数原型声明

                  运行结果如下: 

          图片

          四、用到的插件

          图片

              ‌CMake Tools‌:大型项目管理(2025新增多线程优化)

          ‌五、读者福利‌

                  见绑定资源。

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

          如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

          相关文章

          小米AX3000T 路由器如何开启 SSH 安装 OpenWRT 系统,不需要降级 v1.0.91 (2025)

          小米AX3000T 路由器如何开启 SSH 安装 OpenWRT 系统&#xff0c;不需要降级 v1.0.91 &#xff08;2025&#xff09; 本文内容需要你有一定的 Linux 操作基础&#xff0c;最好是程序员那种&#xff0c;英文水平足够用才行。一般人不需要使用这么复杂的路由器操作系统&#xff0c…

          2025最新智能优化算法:改进型雪雁算法(Improved Snow Geese Algorithm, ISGA)求解23个经典函数测试集,MATLAB

          一、改进型雪雁算法 雪雁算法&#xff08;Snow Geese Algorithm&#xff0c;SGA&#xff09;是2024年提出的一种新型元启发式算法&#xff0c;其灵感来源于雪雁的迁徙行为&#xff0c;特别是它们在迁徙过程中形成的独特“人字形”和“直线”飞行模式。该算法通过模拟雪雁的飞行…

          【从0做项目】Java文档搜索引擎(9)烧脑终章!

          阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 文章导读 阿华将发布项目复盘系列的文章&#xff0c;旨在&#xff1a; 1&#xff1a;手把手细致带大家从0到…

          cs106x-lecture12(Autumn 2017)-SPL实现

          打卡cs106x(Autumn 2017)-lecture12 (以下皆使用SPL实现&#xff0c;非STL库&#xff0c;后续课程结束会使用STL实现) travel Write a recursive function named travel that accepts integers x and y as parameters and uses recursive backtracking to print all solution…

          vue取消全选功能按钮注意事项

          这里这个功能是通过各种条件查出数据,但只取一条数据进行后续业务,虽然每一条数据前面都有多选框,但只需要选一个,所以在业务上分析可以把这个全选按钮取消掉 这里不是简单的把多选组件的selection-change"handleSelectionChange"和handleSelectionChange方法去掉,因…

          三维扫描仪:如何快速获取产品外部结构尺寸?

          在精密制造与质量控制领域&#xff0c;传统测量方法因接触式检测效率低、数据维度单一等问题&#xff0c;正面临数字化升级的迫切需求。 传统测量方法的局限性&#xff1a; 传统的测量工具&#xff0c;如卡尺、千分尺和三坐标测量仪&#xff0c;虽然在精度上有一定的保证&…

          无人机避障——感知篇(采用Livox-Mid360激光雷达获取点云数据显示)

          电脑配置&#xff1a;Xavier-nx、ubuntu 18.04、ros melodic 激光雷达&#xff1a;Livox_Mid-360 1、安装激光雷达驱动 下载安装Livox-SDK2 如果git clone不了&#xff0c;在github上下载相应的zip进行手动安装&#xff0c;安装网址如下&#xff1a; https://github.com/L…

          ubuntu22.04使用minikube安装k8s

          ubuntu使用minikube安装k8s 准备工作安装步骤安装docker安装kubectl安装minikube导入相关镜像安装相关指令启动minikube服务 安装dashboard组件导入相关镜像创建服务账号安装组件本体验证安装结果 准备工作 下载离线安装包&#xff0c;安装包内容如下&#xff1a; 软件说明ki…

          西门子1200下载、上传程序。

          下载 第一种 直接点击图标下载&#xff0c;此种方式PLC会停机。 第二种 这三种的区别&#xff1a; 上传 创建新的项目。

          基于Openlayers对GeoServer发布的数据进行增删改

          使用GeoServer进行图斑数据管理 本文将介绍如何使用GeoServer进行图斑数据的新增、删除和修改。我们将通过一个Vue.js应用来演示这些功能。 设置Vue.js应用 首先&#xff0c;我们设置Vue.js应用&#xff0c;并添加必要的组件和交互逻辑。 Check.vue Check.vue文件包含初始…

          自动化之ansible(二)

          一、ansible中playbook&#xff08;剧本&#xff09; 官方文档&#xff1a; Ansible playbooks — Ansible Community Documentation 1、playbook的基本结构 一个基本的playbook由以下几个主要部分组成 hosts: 定义要执行任务的主机组或主机。 become: 是否需要使用超级用户…

          函数执行中的栈和寄存器调用

          函数执行中的栈和寄存器调用 函数执行过程中主要用到的寄存器有程序计数器和栈指针。 程序计数器&#xff08;IP&#xff09;&#xff1a;指向下一条执行指令的地址&#xff0c;其值用%rip来表示 栈指针&#xff1a;指向栈顶地址&#xff0c;其值用%rsp来表示 当过程P调用过…

          纯新手教程:用llama.cpp本地部署DeepSeek蒸馏模型

          0. 前言 llama.cpp是一个基于纯C/C实现的高性能大语言模型推理引擎&#xff0c;专为优化本地及云端部署而设计。其核心目标在于通过底层硬件加速和量化技术&#xff0c;实现在多样化硬件平台上的高效推理&#xff0c;同时保持低资源占用与易用性。 最近DeepSeek太火了&#x…

          建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11

          这次我们继续解读代码&#xff0c;我们主要来看下面两个部分&#xff1b; 至于人脸识别成功的要点我们在最后总结~ 具体代码学习&#xff1a; #定义人脸名称 def name():#预学习照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…

          【Java消息队列】应对消息丢失、重复、顺序与积压的全面策略

          应对消息丢失、重复、顺序与积压的全面策略 引言kafka消息丢失生产者消费者重复消费顺序消费消息积压生产者消费者其他RabbitMQ消息丢失生产者事务机制,保证生产者发送消息到 RabbitMQ Server发送方确认机制,保证消息能从交换机路由到指定队列保证消息在 RabbitMQ Server 中的…

          PHP会务会议系统小程序源码

          &#x1f4c5; 会务会议系统 一款基于ThinkPHPUniapp框架&#xff0c;精心雕琢的会议管理微信小程序&#xff0c;专为各类高端会议场景量身打造。它犹如一把开启智慧殿堂的金钥匙&#xff0c;为会议流程优化、开支精细化管理、数量精准控制、标准严格设定以及供应商严格筛选等…

          Unity通过Vosk实现离线语音识别方法

          标注&#xff1a;deepseek直接生成&#xff0c;待验证 在Unity中实现离线语音识别可以通过集成第三方语音识别库来实现。以下是一个使用 Unity 和 Vosk&#xff08;一个开源的离线语音识别库&#xff09;的简单示例。 准备工作 Vosk&#xff1a;一个开源的离线语音识别库&am…

          架构学习第七周--Prometheus

          目录 一、监控系统基础 二、Prometheus介绍 三、Prometheus单机部署 四、服务发现与告警功能 4.1&#xff0c;服务发现 4.2&#xff0c;告警功能实现 五、Prometheus与Kubernetes 5.1&#xff0c;Kubernetes指标 5.2&#xff0c;Prometheus集群部署 一、监控系统基础…

          技术总结 | MySQL面试知识点

          MySQL面试知识点 1.存储引擎1.1 Archive1.2 BlackHole1.3 MyISAM1.4 InnoDB (重点记一下哦)1.5 Memory1.6 CSV 2. 事务2.1. 什么是事务2.2. 事务的特性2.3. 事务的操作sql2.4. 事务的隔离级别 3.三大日志3.1. undo log 回滚日志3.2. redo log 重做日志3.3. bin log 二进制日志4…

          DeepSeek模型快速部署教程-搭建自己的DeepSeek

          前言&#xff1a;在人工智能技术飞速发展的今天&#xff0c;深度学习模型已成为推动各行各业智能化转型的核心驱动力。DeepSeek 作为一款领先的 AI 模型&#xff0c;凭借其高效的性能和灵活的部署方式&#xff0c;受到了广泛关注。无论是自然语言处理、图像识别&#xff0c;还是…