windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试 您所在的位置:网站首页 vscode快速删除多行 windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试

windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试

#windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试| 来源: 网络整理| 查看: 265

本文为原链的镜像链接,更新可能不及时,如有能力,请访问原始链接。

文章目录 参考安装安装 vscode 和插件配置 mingw下载 mingw 编译链配置环境变量 配置 vscode 环境 测试

参考 基于 VS Code + MinGW-w64 的 C 语言/C++简单环境配置,专致小白 安装

环境:Win10 21H2 19044.1381 + mingw + vscode 1.74.3 + C/C++ Extension Pack 插件

国内镜像盘: 链接 密码:1dcs

简单来说共分为 4 步

下载 mingw,vscode 和 插件 并安装添加 mingw 编译链到系统环境变量 Path拷贝 tasks.json、launch.json 到要运行的代码目录.vscode文件夹中修改 tasks.json、launch.json中gcc、g++、gdb 路径 安装 vscode 和插件 下载 vscode 并安装安装 C/C++ Extension Pack 插件 配置 mingw 下载 mingw 编译链

在此处下载 windows 编译链,编译链命名方式如:系统-线程模型-异常处理模式

系统 x84_64 64 位可执行文件i686 32 位可执行文件 线程模型 win32posix 异常处理方式 …

根据自己的系统选择,推荐下载最新的,我这里是 64 位系统,线程模型选择 win32,异常模式随便选

选择 x86_64-win32-seh 在这里插入图片描述

需注意:win 下如线程模式使用 posix,会造成 powershell 下无法通过编译链生成 a.exe,推荐使用如下图中工具链 在这里插入图片描述

配置环境变量

将在下载 mingw 编译链中下载的编译链解压到路径 xxx 下,记住该路径

windows 键 + R 打开 运行,输入 sysdm.cpl,回车进入 在这里插入图片描述

点击 高级 在这里插入图片描述

点击 环境变量 添加 mingw 工具链路径到 Path 下 在这里插入图片描述

下载后解压的工具链路径: 在这里插入图片描述 推荐在系统变量中的 Path 下添加刚刚下载的编译链的路径 xxx + \bin

比如你下载后解压的路径为 C:\1\mingw64,那么在此处就要添加 C:\1\mingw64\bin 在这里插入图片描述 环境变量配置:添加后不要忘记点确定

在这里插入图片描述

配置 vscode 环境

将下述代码保存为launch.json 或者直接使用镜像中的 .vscode中的launch.json,修改配置文件中 launch.json 的 gcc 、g++、gdb 路径

将 launch.json 中 miDebuggerPath 修改为你本地 mingw 中的 gdb 路径

{ "configurations": [ { "name": "(gdb) 启动", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "C:\\1\\mingw64\\bin\\gdb.exe", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ] } ], "version": "2.0.0" }

将下述代码保存为tasks.json 或者直接使用镜像中的 .vscode中的tasks.json,

将 tasks.json 中的 cbuild 中 command 改为你本地 gcc 的路径,cppbuild 中 command 改为你本地 g++ 的路径

{ "tasks": [ { "type": "cbuild", "label": "C/C++: gcc.exe 生成活动文件", "command": "C:\\1\\mingw64\\bin\\gcc.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "gdb调试器生成的任务。" }, { "type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", "command": "C:\\1\\mingw64\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$g++" ], "group": { "kind": "build", "isDefault": true }, "detail": "gdb调试器生成的任务。" } ], "version": "2.0.0" }

最终 Vscode 工程目录结构如下,测试代码来自 hello-algo,在此感谢大佬 @Krahets

C:\Users\Administrator\Desktop\TEST\code>tree /F 文件夹 PATH 列表 卷序列号为 DE24-5DAC C:. ├─.vscode │ launch.json │ tasks.json │ └─codes ├─c │ │ CMakeLists.txt │ │ │ ├─chapter_array_and_linkedlist │ │ array.c │ │ CMakeLists.txt │ │ linked_list.c │ │ │ ├─chapter_computational_complexity │ │ CMakeLists.txt │ │ time_complexity.c │ │ worst_best_time_complexity.c │ │ │ ├─chapter_sorting │ │ bubble_sort.c │ │ CMakeLists.txt │ │ insertion_sort.c │ │ │ ├─chapter_stack_and_queue │ │ │ ├─chapter_tree │ │ binary_search_tree.c │ │ binary_tree.c │ │ binary_tree_bfs.c │ │ binary_tree_dfs.c │ │ CMakeLists.txt │ │ │ └─include │ CMakeLists.txt │ include.h │ include_test.c │ list_node.h │ print_util.h │ tree_node.h │ ├─cpp │ │ .gitignore │ │ CMakeLists.txt │ │ Makefile │ │ │ ├─chapter_array_and_linkedlist │ │ array.cpp │ │ linked_list.cpp │ │ list.cpp │ │ my_list.cpp │ │ │ ├─chapter_computational_complexity │ │ leetcode_two_sum.cpp │ │ space_complexity.cpp │ │ time_complexity.cpp │ │ worst_best_time_complexity.cpp │ │ │ ├─chapter_hashing │ │ array_hash_map.cpp │ │ hash_map.cpp │ │ │ ├─chapter_searching │ │ binary_search.cpp │ │ hashing_search.cpp │ │ linear_search.cpp │ │ │ ├─chapter_sorting │ │ bubble_sort.cpp │ │ insertion_sort.cpp │ │ merge_sort.cpp │ │ quick_sort.cpp │ │ │ ├─chapter_stack_and_queue │ │ array_queue.cpp │ │ array_stack.cpp │ │ deque.cpp │ │ linkedlist_queue.cpp │ │ linkedlist_stack.cpp │ │ queue.cpp │ │ stack.cpp │ │ │ ├─chapter_tree │ │ binary_search_tree.cpp │ │ binary_tree.cpp │ │ binary_tree_bfs.cpp │ │ binary_tree_dfs.cpp │ │ │ └─include │ include.hpp │ ListNode.hpp │ PrintUtil.hpp │ TreeNode.hpp │ ... │ ├─java │ ... ├─python │ ... ├─rust │ ... ├─swift │ ... C:\Users\Administrator\Desktop\TEST\code> 测试

首先,通过 Vscode 打开工程(含有 .vscode 文件夹的目录),在打开 c 文件,根据右上角选择调试还是运行,也可以通过快捷键调试(F5)

在这里插入图片描述

如下为调试过程中的截图:

gdb 调试 c 文件

在这里插入图片描述

gdb 调试 cpp 文件 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有