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 小时前
记一次VSCode远程连接失败的解决过程:从报错到搞定的全过程
visual studio code
摸着石头过河的石头1 天前
手把手教你用VS Code玩转Gitee协作:从环境配置到高效提交
前端·visual studio code
FPGA4 天前
Verilog高效开发插件-Digital IDE(VS Code插件)
visual studio code
太凉9 天前
cursor替换成vs code插件市场
visual studio code·cursor
萌萌哒草头将军10 天前
Cursor 发布 1.4 版本,更智能更全面 🚀🚀🚀
intellij idea·visual studio code·cursor
白雾茫茫丶13 天前
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
visual studio code
倔强青铜三16 天前
PyCharm正在慢性死亡?VSCode碾压式逆袭!
python·pycharm·visual studio code
寅时码16 天前
消除大模型幻觉,让AI-IDE真正理解代码,打通LSP与AI的任督二脉
visual studio code·cursor·mcp
一涯16 天前
自己写一个vscode插件
前端·visual studio code
AmsWait16 天前
为Github Copilot创建自定义指令/说明/注意事项
ai编程·visual studio code·github copilot