0


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

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

文章目录

参考

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

安装

环境:

Win10 21H2 19044.1381

+

mingw
  • vscode 1.74.3 +
    C/C++ Extension Pack
    
    插件

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

简单来说共分为 4 步

  1. 下载 mingwvscode插件 并安装
  2. 添加 mingw 编译链到系统环境变量 Path
  3. 拷贝 tasks.jsonlaunch.json 到要运行的代码目录.vscode文件夹中
  4. 修改 tasks.jsonlaunch.jsongccg++gdb 路径

安装 vscode 和插件

  • 下载 vscode 并安装
  • 安装 C/C++ Extension Pack 插件

配置 mingw

下载 mingw 编译链

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

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

根据自己的系统选择,推荐下载最新的,我这里是 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

文件
在这里插入图片描述

标签: vscode windows c语言

本文转载自: https://blog.csdn.net/qq_33698226/article/details/129031241
版权归原作者 不是Gonga 所有, 如有侵权,请联系我们删除。

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

还没有评论