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. 查看调试信息:启动调试后,可通过监视窗口查看变量值、调用栈等程序执行过程中的信息。

相关推荐
前端拿破轮9 小时前
2025年了,你还不知道怎么在vscode中直接调试TypeScript文件?
前端·typescript·visual studio code
DY009J2 天前
C++基础学习——文件操作详解
c++·学习·cocoa·visual studio code
Java陈序员3 天前
Cursor 入门教程!
visual studio code·cursor
Potter4 天前
推荐一款超好用的vscode插件神器,它值得每个程序员拥有
visual studio code
Carolinemy8 天前
VSCode 中AI代码补全插件推荐
前端·visual studio code
木灵鱼儿_前端10 天前
告别手动重启:一键刷新 VS Code 服务的效率神器 —— Restart VSCode Server
visual studio code
bryceZh13 天前
Cursor/VScode+iOS开发工具链
ai编程·xcode·visual studio code
前端工作日常14 天前
我学习到的获取.vsix文件方法
visual studio code
seepine17 天前
VSCode + Md Editor 插件, Typora 的平替方案
markdown·visual studio code