VS code之C/C++编译旅程

C/C++编译

一、安装编译器(MinGW-w64)


1. 下载与安装

  1. 64位下载MinGW-w64 x86_64

  2. 解压到 新目录 (如 D:\mingw64,路径禁止中文/空格)

2. 配置环境变量

  1. 系统变量 → Path → 新增: 例:D:\mingw64\bin
  2. 验证 :命令行输入 gcc --versiong++ --version,显示版本号即成功

二、编译配置与运行


1. 单文件单独编译

1.1 首文件
  1. 新建 main.c,代码:

    c 复制代码
    例:  
    #include <stdio.h>  
    int main() 
    {
      printf("C单文件编译成功!\n"); 
    }  

    新建 main.cpp,代码:

    c 复制代码
    例:  
    #include <stdio.h>  
    int main() 
    {  
    printf("C单文件编译成功!\n");  
    }  
  2. C/C++插件配置

  3. 创建执行任务(tasks.json)

  • 自动生成 tasks.json(配置清单与项目的中间商):

    json 复制代码
    {​
      "version": "2.0.0",​
      "tasks": [​
          {​
              "type": "cppbuild",​
              "label": "C/C++: gcc.exe 生成活动文件",​
              "command": "C:/mingw64/bin/gcc.exe",    //这里是指定编译器​
              "args": [​
                  "-fdiagnostics-color=always",​
                  "-g",​
                  "${file}", //被编译的文件​
                  "-o",​
                  "${fileDirname}\\${fileBasenameNoExtension}.exe"
                  //指定生成的可执行文件的路径(默认鼠标所在文件路径)​
              ],​
              "options": {​
                  "cwd": "C:/mingw64/bin"​
              },​
              "problemMatcher": [​
                  "$gcc"​
              ],​
              "group": "build",​
              "detail": "编译器: C:/mingw64/bin/gcc.exe"​
          }​
      ]​
    }
  1. 运行生成任务

Ctrl+`:打开终端窗口

1.2 新增文件

当需要添加新代码文件时,可根据代码管理需求选择以下两种方式:

方法1:在当前项目中直接新建文件

适用场景:新增文件与现有文件属于同一项目,无需单独文件夹管理。

方法2:新建独立文件夹以管理代码

适用场景:新增代码需独立管理(如不同项目、版本或模块)。

  1. 创建新文件夹

    • 在磁盘中新建文件夹(如 test)→ 打开VSCode → 点击 【文件】→【打开文件夹】 选择新文件夹。
  2. 复制配置文件

    • 将原项目中 .vscode 目录(含 tasks.jsonc_cpp_properties.json 等)拷贝到新文件夹中。
  3. 新建、编写、执行
    详见 '1.1首文件'

2. 多文件联合编译

适用场景 :项目包含多个源文件(如 main.c + utils.c),需编译为一个可执行程序。

  1. 打开工程文件夹

    • 在VSCode中点击 【文件】→【打开文件夹】 ,选择 multiple_files 目录。
  2. 复用旧项目配置

    • 拷贝旧项目中 .vscode 文件夹(含 tasks.jsonc_cpp_properties.json 等)到当前工程根目录。
  3. 改造 tasks.json 配置

    • 目标 :编译所有 .c 文件,统一生成可执行程序。

    • 关键修改

      json 复制代码
      "args": [  
        "-g",  
        "${workspaceFolder}\\*.c",   // 匹配工作区所有 .c 文件 
        "-o",  
        "${workspaceFolder}\\${workspaceRootFolderName}.exe"  // 动态获取工作区文件夹名  
        // "${workspaceFolder}\\myProgram.exe"  固定输出自定义文件名 
      ]  
      json 复制代码
      "args": [  
        "-g",  
        "${workspaceFolder}\\*.cpp",  // 匹配工作区所有 .cpp 文件 
        "-o",  
        "${workspaceFolder}\\${workspaceRootFolderName}.exe"  // 动态获取工作区文件夹名  
         // "${workspaceFolder}\\myProgram.exe"  固定输出自定义文件名 
      ]  
  4. 新建、编写、执行
    详见 '1.1首文件'

三、调试配置(launch.json)


1. 创建launch.json文件

  1. 打开调试面板

    • 点击VSCode左侧的调试图标(或使用快捷键Ctrl+Shift+D),点击"创建launch.json文件"。
  2. 选择调试配置

    • 在弹出的选项中选择 【C++(GDB/LLDB)】
  3. 添加调试配置

    • 生成launch.json文件后,点击文件右下方的 【添加配置】 ,选择 【C/C++:(gdb)启动】

2. 配置launch.json文件

  • 默认配置:

    json 复制代码
    {  
        "name": "C/C++: (gdb) 启动",  
        "type": "cppdbg",  
        "request": "launch",  
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",  
        "args": [],  
        "stopAtEntry": false,  
        "cwd": "${workspaceFolder}",  
        "environment": [],  
        "externalConsole": false,  
        "MIMode": "gdb",  
        "miDebuggerPath": "gdb"  
    }  
  • 修改配置:

    json 复制代码
    {  
        "name": "C/C++: (gdb) 启动",  
        "type": "cppdbg",  
        "request": "launch",  
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", 
        //指定可执行程序路径:确保与 tasks.json 中生成的可执行文件路径匹配。  
        "args": [],  
        "stopAtEntry": false,  
        "cwd": "${workspaceFolder}",  
        "environment": [],  
        "externalConsole": false,  
        "MIMode": "gdb",  
        "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe" 
        //指定调试器路径:修改为实际的调试器路径,需根据实际安装路径调整。
    }  
    json 复制代码
    {  
        "name": "C/C++: (gdb) 启动",  
        "type": "cppdbg",  
        "request": "launch",  
        "program": "${workspaceFolder}\\${workspaceRootFolderName}.exe", 
        //指定可执行程序路径:确保与 tasks.json 中生成的可执行文件路径匹配。  
        "args": [],  
        "stopAtEntry": false,  
        "cwd": "${workspaceFolder}",  
        "environment": [],  
        "externalConsole": false,  
        "MIMode": "gdb",  
        "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe" 
        //指定调试器路径:修改为实际的调试器路径,需根据实际安装路径调整。
    }  

3. 开始调试

launch.json文件配置完成后,即可开始调试:

  1. 设置断点

    • 在代码行号左侧单击或使用快捷键 F9 插入断点。
  2. 启动调试

    • F5 开始调试,程序会在断点处暂停。
  3. 调试快捷键

    • F10:逐过程调试(跳过函数内部)
    • F11:逐语句调试(进入函数内部)
  4. 查看调试信息:启动调试后,可通过监视窗口查看变量值、调用栈等程序执行过程中的信息。

相关推荐
有一只柴犬3 天前
科学休息,我用AI写了个vscode养鱼插件:DevFish发布
程序员·visual studio code
ol木子李lo4 天前
Doxygen入门指南:从注释到自动文档
c语言·c++·windows·编辑器·visual studio code·visual studio·doxygen
散峰而望7 天前
基本魔法语言数组 (一) (C语言)
c语言·开发语言·编辑器·github·visual studio code·visual studio
AmazingKO8 天前
推送报错403怎么办?vscode推送项目到github
chatgpt·github·visual studio code·竹相左边
Axizs12 天前
我用AI摸鱼写了个VSCode摸鱼插件
ai编程·visual studio code
飞哥数智坊13 天前
分享一个 VS Code 插件:一键把 Markdown 网络图片存本地
markdown·visual studio code
Wind哥13 天前
VS Code搭建C/C++开发调试环境-Windows
c语言·开发语言·c++·visual studio code
歪歪10015 天前
在C#中详细介绍一下Visual Studio中如何使用数据可视化工具
开发语言·前端·c#·visual studio code·visual studio·1024程序员节
JohnYan20 天前
工作笔记 - VSCode ssh远程开发
javascript·ssh·visual studio code
Keepreal49623 天前
实现一个简单的hello world vs-code插件
前端·javascript·visual studio code