news 2026/9/13 10:49:25

VSCode配置C语言开发环境:从零开始理解编译器与调试器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VSCode配置C语言开发环境:从零开始理解编译器与调试器

很多刚接触编程的朋友第一次听说要在VSCode里配C语言环境,第一反应都是“这玩意儿听说很麻烦”“网上教程五花八门看不懂”。我今天就用最直白的话,把VSCode配置C语言环境这件事从头到尾捋一遍,每一步为什么要这么做,原理是什么,遇到报错怎么处理,全部写清楚。这篇文章专为真正的零基础小白准备,你不需要有任何前置知识,只需要会打开电脑、会双击鼠标就行。

先说清楚这套东西是干什么用的:VSCode是一个文本编辑器,你可以把它理解成“一个特别聪明的记事本”,它自己不会编译代码。C语言要跑起来,靠的是一个叫“编译器”的东西,编译器负责把你写的代码翻译成电脑能运行的程序。所以整个配置流程的核心就两件事:把编译器装好,再让VSCode知道去哪调用这个编译器。听起来是不是没那么玄乎了?

1. 先把流程看明白:一条命令从源码变成程序

1.1 C语言开发到底需要什么

很多小白卡在第一步,是因为根本不知道自己在装什么、为什么要装一堆东西。这里我先拆解一下C语言开发的最小工具链。

你写C语言代码,写出来的东西叫源代码,是一堆纯文本,比如:

#include <stdio.h> int main() { printf("hello, world\n"); return 0; }

这段文字电脑本身看不懂,它只认识由0和1组成的机器码。所以需要编译器(Compiler)做一次翻译,把源代码变成可执行文件。在Windows上,这个可执行文件通常是.exe文件。这个“翻译”的过程叫编译。

除了编译器,你还需要一个编辑器来写代码。VSCode就是干这个的。有些刚入门的朋友会问:那我直接用记事本写不行吗?行是行,但体验极差,因为没有语法高亮、没有自动补全、没有报错提示。VSCode装完C/C++插件之后,写代码时哪里拼错了立即标红,函数名自动补全,鼠标悬停还能看到函数说明,这种体验跟你用记事本写代码完全两个世界。

还有一个容易被忽略的环节叫“构建工具”,最常见的叫Make或CMake。不过对于刚学C语言的新手来说,这个阶段完全没有必要碰它,直接用编译器命令行或者VSCode里的编译任务就够了。

1.2 为什么选VSCode + MinGW-w64这套组合

C语言开发的环境方案其实不止一种,市场上常见的还有Visual Studio、Dev-C++、Code::Blocks等等。我为什么推荐小白用VSCode?原因有三点。

第一,VSCode轻量。Visual Studio动辄几个G甚至十几个G的安装包,安装时间长得能吃完一顿午饭,而VSCode安装包只有几十MB,装上之后占用内存也很少,电脑配置不高也带得动。

第二,VSCode不锁死语言。你以后想学Python、JavaScript、Go,不用换开发环境,还是在VSCode里加个插件就行。

第三,VSCode是当下社区活跃度最高的编辑器之一,遇到问题随便一搜都是答案。

那编译器为什么选MinGW-w64?因为在Windows上,最方便的C语言编译器是GCC(GNU Compiler Collection),而MinGW-w64是GCC在Windows平台上的一个发行版本。简单说,MinGW-w64就是在Windows上能直接用的GCC。它装好之后,你打开终端输入gcc -v能看到版本信息,就说明编译器已经进入系统了。

有一件事必须提醒:网上有些教程让你装MinGW32或老版本的MinGW,那些都比较老了。现在推荐的是MinGW-w64,注意后面带个w64,表示支持64位系统。现在大家电脑基本都是64位Windows,装这个没问题,而且它经过多年社区维护,稳定性很好。

2. 下载安装与基础准备:两件套搞齐

2.1 第一步:安装VSCode本体

这一步本身不难,但有几个安装细节我单独拎出来说。先去VSCode官网下载安装包,注意选“User Installer”还是“System Installer”。前者按用户安装,不需要管理员权限,适合公司电脑或者权限受限的机器;后者是系统级安装,所有用户都能用。个人电脑建议直接选System Installer,省心。

安装的时候有个弹窗界面,里面有几项勾选,很多教程让你全勾上。其中最关键的一项叫“添加到PATH”,就是“Add to PATH”。如果安装时没有勾选这一项,后面在终端里输入code命令就无法启动VSCode。我的建议是:安装界面的选项能勾就全勾,包括“将‘用Code打开’操作添加到文件资源管理器目录上下文菜单”“将‘用Code打开’操作添加到目录上下文菜单”等,这些选项不会有什么坏处,只会让右键打开文件夹更方便。

安装完成后,打开VSCode,先点左侧的扩展图标(一个田字格方块),搜“Chinese”,安装“Chinese (Simplified) Language Pack”,然后重启VSCode,界面就变成中文了。这一步不是必须的,但能显著降低小白的心理压力,整个界面都看得懂了,后面的操作才不容易慌。

2.2 第二步:安装MinGW-w64编译器

VSCode装好了,只是有了写代码的容器。接下来这一步是整个配置过程中最容易出问题的环节:安装编译器。

MinGW-w64有很多种发布版本,新手最头疼的就是不知道怎么选。这里我要说一个常见的坑:如果你去SourceForge上的MinGW-w64页面下载,会看到一堆选项,什么“x86_64-posix-seh”“i686-posix-dwarf”之类的,小白当场就懵了。这些其实是指编译器的目标架构和异常处理模型。

简单解释一下这些字段:

  • x86_64还是i686:前者是64位,后者是32位。现代电脑几乎都是64位,选x86_64
  • posix还是win32:这是线程模型,posix对C++标准库的std::thread支持更好。考虑到以后可能学C++,选posix
  • seh还是dwarf还是sjlj:这是异常处理模型,64位系统选seh没问题。

所以推荐选择:x86_64-posix-seh版本。

不过,现在如果你想少踩点坑,我建议直接用一个更省事的办法:去GitHub下载一个叫“w64devkit”的项目,或者使用WinLibs网站提供的MinGW-w64构建包(这个网站专门整理好了可直接解压使用的版本),下载下来之后解压到一个简单路径,比如C:\mingw64,就算装好了。这就是“绿色版”的好处,不需要走安装向导,解压即用。

解释一下为什么要解压到C:\mingw64而不是别的路径:因为后续配置环境变量时,这个路径越短、越简洁,越不容易出错。有些朋友解压到C:\Users\你的用户名\Downloads\mingw64这种长路径,万一用户名是中文,部分老版本工具可能会出编码问题,所以尽量放在C盘根目录或者D盘根目录这种干净的地方。

2.3 第三步:配置环境变量(重点)

MinGW-w64解压之后,编译器还不能直接用。你打开命令提示符输入gcc,系统会提示“不是内部或外部命令”。原因是Windows不知道去哪找gcc.exe这个程序。环境变量就是告诉Windows“去哪里找程序”的地图。

配置步骤:

  1. 在Windows搜索栏里输入“环境变量”,打开“编辑系统环境变量”。
  2. 点击右下角的“环境变量”按钮。
  3. 在“系统变量”列表里找到Path这一项,双击它。
  4. 在弹出的窗口里点“新建”,填上你的编译器bin目录路径。如果你按我上面的建议解压到了C:\mingw64,那这里就填C:\mingw64\bin
  5. 确定、确定、确定,一路点掉。

为什么要选择bin文件夹而不是C:\mingw64本身?因为bin文件夹里放的是真正可执行的程序gcc.exeg++.exegdb.exe等。系统会在你配置的路径下面直接找可执行文件,所以必须精确指向这个bin目录。

检查是否配置成功:打开一个新的命令提示符窗口,输入gcc -v,如果看到一长串版本信息,最后一行有gcc version 8.1.0之类的字样,说明配置成功。如果你打开的窗口是在配置环境变量之前就开着的,务必关掉重新开一个,否则环境变量不会生效,这一点特别容易踩坑,我当年就在这里卡了很久。

3. 让编辑器“听懂”C语言:插件与基础配置

3.1 安装C/C++扩展

VSCode装了C/C++扩展之后,才能真正识别C语言文件。这个扩展的发布者是Microsoft,名字就叫“C/C++”,注意认准发布者。还有另一个叫“C/C++ Extension Pack”的扩展,它会把C/C++插件之外的其他辅助插件也一起装了,例如代码格式化、CMake工具等。

新手我建议装C/C++ Extension Pack,一步到位。装完之后,你还应该单独装一个“Code Runner”,这个插件让小白可以一键运行C文件,不需要先手动配置任务。后面我会讲它和tasks.json的区别。Code Runner适合写小程序练手,但它的运行方式跟你正式开发时的编译调试流程不太一样,所以我们要两条腿走路:练手用Code Runner,正式调试用tasks.json + launch.json。

装上C/C++扩展之后,你随便打开一个.c文件,编辑器右下角应该会显示C/C++插件已经激活,并且把#include语句里的头文件自动识别出来,悬停能看到函数声明。如果打开.c文件时右下角弹出一个框,让你选择C/C++扩展的IntelliSense模式,直接选默认的gcc或者g++就行了,VSCode会自己去找PATH里的编译器。

3.2 工作区设置与基础配置项

VSCode的配置分两种:用户设置和工作区设置。用户设置对你的所有项目生效,工作区设置只对当前文件夹生效。对于写C语言练习,我建议直接在用户设置里把下面几项配好,省得以后每个项目都重新设置。

打开设置界面:菜单栏“文件”->“首选项”->“设置”,或者直接按快捷键Ctrl + ,。在搜索框里输入“code-runner.runInTerminal”,找到“Whether to run code in Integrated Terminal”这个选项,勾选上。这一步的意思是:Code Runner运行的输出显示在VSCode下方的终端面板里,而不是弹出一个外部小黑窗。实测下来,在终端面板里显示输出更方便,尤其是一些需要交互的程序,可以正常输入数据。

再搜“files.autoSave”,建议设置成afterDelay,也就是自动保存。这样你每次运行前不用手动按Ctrl + S保存文件,减少一步操作,对小白来说很友好。

还有一项:“terminal.integrated.shell.windows”这项在旧版VSCode里设置过默认终端,新版本已经默认PowerShell了,不需要动它。

还有一个非常实用的小知识点:新建C文件时,VSCode会识别文件后缀.c,自动启用C语言语法高亮。文件名不要用中文和空格,比如hello world.c这种名字在编译时可能出问题,建议统一用hello_world.c这种下划线风格。

4. 打通编译和调试:tasks.json与launch.json详解

4.1 配置编译任务(tasks.json)

很多小白走到这一步就开始打退堂鼓了,看到tasks.jsonlaunch.json两个文件冒出来,感觉像在写代码配置一样。其实这两个文件本质上就是“告诉VSCode怎么编译和运行”的说明书,而且VSCode有自动生成功能,你只需要点几下按钮就行。

先准备好一个C文件,比如我在电脑上建了一个C:\Code\C_Learning文件夹,里面放了一个hello.c,内容就是标准的Hello World代码。然后用VSCode打开这个文件夹:菜单栏“文件”->“打开文件夹”,选择这个目录。接着打开hello.c,按F5键(启动调试),VSCode会提示“launch.json配置文件缺失”之类的信息,同时它也会提示你选择编译器,一般是一个下拉列表,让你选“C++ (GDB/LLDB)”之类的选项。

这里要注意:VSCode所谓的“C++ (GDB/LLDB)”选项中,同样适用于C语言,因为它底层调用的编译器和调试器是同一套工具链。选了之后,VSCode会自动生成一个.vscode/launch.json文件,但这时还不能直接运行,因为还缺少编译任务。

你现在手动新建一个.vscode/tasks.json文件,内容如下:

{ "version": "2.0.0", "tasks": [ { "label": "C Build", "type": "process", "command": "gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [ "$gcc" ] } ] }

这段配置什么意思?我拆开解释:

  • label:这个任务的名字,随便起,但起个有辨识度的比较好。
  • command:要执行的命令。这里填gcc,就是调用编译器。
  • args:传给gcc的参数。-g表示生成调试信息。${file}是VSCode内置变量,代表当前打开的文件路径。-o指定输出文件。${fileDirname}/${fileBasenameNoExtension}.exe的意思是:在当前文件所在的目录下,生成一个和源文件名相同但扩展名是.exe的可执行文件。
  • problemMatcher:告诉VSCode怎么解析编译错误信息。$gcc是内置的,可以直接用。

配置好之后,按Ctrl + Shift + B触发构建任务,你会看到终端里开始执行gcc命令,如果没有报错,就生成了hello.exe

4.2 配置调试器(launch.json)

编译任务搞定,剩下的就是让调试器能正视你的程序。launch.json的自动生成版本通常可以运行,但为了确保流程顺畅,你需要检查几个关键项。

按F5启动调试,如果刚才已经生成过launch.json,VSCode会再弹一次让你选择环境,依然选“C++ (GDB/LLDB)”。然后它会生成类似下面的内容:

{ "version": "0.2.0", "configurations": [ { "name": "C/C++: gcc.exe 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "C Build" } ] }

这里最关键的有两项:

  • miDebuggerPath:这是调试器gdb.exe的路径,必须指向你安装的MinGW-w64里的gdb。如果路径填错,F5启动时会报错说找不到调试器。
  • preLaunchTask:这一项用来指定启动调试之前先执行哪个编译任务。它必须和tasks.json里的label保持一致,这里填的是C Build

还有一项externalConsole,这个选项控制调试时程序运行在哪里。false表示在VSCode内置终端里运行,true表示弹出外部控制台窗口。对于需要输入数据的小程序,弹外部控制台更方便,但有些新手不习惯,就保持内置终端也行。

配置完之后,按F5,你会发现程序编译完,接着调试器启动,然后在终端里输出了hello, world。到这一步,你的C语言开发环境就算是彻底跑通了。

4.3 从编写到运行的完整流程

环境配好之后,我强烈建议你养成一套固定的操作流程,可以减少很多不必要的困惑:

  1. 在VSCode里打开你的C语言练习文件夹(不是单个文件,是整个文件夹,这样才能加载.vscode配置)。
  2. 新建test.c,写代码。
  3. Ctrl + Shift + B编译。
  4. F5运行或调试。

有些朋友问:我按了Ctrl + Shift + B之后终端里显示了一大堆看不懂的路径和参数,正常吗?正常,那就是gcc的完整编译命令,等你以后熟悉了,还能从这里看到自己用了什么参数,对学习很有帮助。

还有一点,如果你只是想快速跑一下看看结果,不想每次按F5,那Code Runner插件就派上用场了。在代码编辑器右上角会有一个小三角“播放”图标,点一下就能运行当前文件,快捷键是Ctrl + Alt + N。但要注意,Code Runner用的是它自己的一套编译参数,默认不加-g调试信息,所以如果你想断点调试,还得走F5那条路。

5. 常见问题与排查技巧实录

5.1 新手最常见的几个报错

配置环境这种事情,几乎每个人都会踩坑,区别只是坑多坑少。我把自己见过最多的几个问题整理出来,每一个都是真实场景,不是网上抄来的。

第一个:gcc: command not found或者gcc is not recognized as an internal or external command。这个问题基本可以断定是环境变量没配好。排查思路:打开命令提示符,输入where gcc,如果提示找不到,就去看看C:\mingw64\bin目录下有没有gcc.exe。如果有文件,那就是PATH环境变量没生效,重新检查一下路径是否精确指向了bin目录。这里特别提醒:Windows的环境变量配置界面让你编辑Path时,每条路径都是独立的,不要手欠把所有路径写在一行里用分号分隔,那是老版本Windows的玩法,新版一定要用“新建”按钮逐条添加。

第二个:VSCode里打开代码后,#include <stdio.h>下方出现了红色波浪线,提示“找不到stdio.h”。出现这个问题,通常是C/C++扩展没有正确匹配到编译器。在VSCode里按Ctrl + Shift + P,输入“C/C++: Edit Configurations (UI)”,打开配置界面,把“Compiler path”设置成C:/mingw64/bin/gcc.exe。注意这里用的是正斜杠,Windows也认。设置完波浪线通常会立刻消失。

第三个:按F5弹出“launch: program does not exist”或者“Unable to start debugging”。这个多半是还没有编译出.exe文件,或者launch.json里的program路径和tasks.json输出的.exe路径对不上。还有一个容易被忽略的情况:你打开的文件没有保存到磁盘上。VSCode里有一个“无标题”文件时,${fileDirname}这个变量是空的,编译就会失败。所以新建文件后第一时间先按Ctrl + S存到一个文件夹里,再开始写代码。

第四个:终端提示“无法加载文件,因为在此系统上禁止运行脚本”。这是PowerShell的执行策略问题,跟C语言本身没关。解决办法是以管理员身份打开PowerShell,运行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser,然后选Y确认。之所以会出现这个问题,是因为VSCode的终端默认就是PowerShell,而部分电脑的策略默认禁止运行脚本。改完之后重启VSCode,问题就解决了。

第五个:代码运行后中文乱码。这是老生常谈的问题了,根本原因是Windows的控制台默认编码和源文件编码不一致。简单粗暴的解决办法是让源码里的中文用英文输出,或者把程序里的printf改成英文。更好的办法是在代码开头写上system("chcp 65001");切换控制台编码为UTF-8(需要#include <stdlib.h>),或者在启动程序时右键控制台标题栏,修改默认代码页为UTF-8。不过这个方法治标不治本,运行一次调一次,所以小白阶段我建议写代码时尽量用英文输出,省心。

5.2 问题排查速查表

现象可能原因解决方法
输入gcc -v提示不是内部或外部命令环境变量未配置或路径错误检查minGW的bin目录是否在Path中,重新打开终端
编译时报找不到stdio.hC/C++扩展未定位编译器Ctrl+Shift+P打开C/C++配置,指定gcc.exe路径
F5调试报program does not exist未先编译或路径不对先按Ctrl+Shift+B编译生成exe,检查launch.json的program字段
代码有红色波浪线但编译正常IntelliSense误报重新加载窗口,或更新C/C++插件到最新版
Ctrl+Shift+N快捷键不生效快捷键冲突在快捷键设置里搜索“Code Runner”,自定义成其他键
一运行就闪退看不到输出程序执行完窗口自动关闭使用F5调试运行,或在main函数结尾加getchar();暂停
Code Runner运行后找不到gccCode Runner默认编译器不是gcc在settings.json里把code-runner.executorMap.c改为gcc全路径

5.3 几个让我少走弯路的习惯

配置环境只是万里长征第一步。接下来写代码的日子才长呢,我想分享几个自己实际写代码时总结出来的小习惯,对新手特别有用。

第一个习惯:把练习代码统一放在一个专门的文件夹里,比如C:\Code\C_Learning,然后用VSCode的“打开文件夹”功能打开它。你有过这种经历吗?文件散落在桌面、下载、文档里,今天写一个,明天再想找昨天写的代码,翻遍整个电脑都找不到。有一个统一的文件夹好处很多,最重要的是VSCode能根据工作区记住你的配置,.vscode目录下生成的那些json文件会一直有效,不用每次重新配。

第二个习惯:写代码不急着一次写完,写几行就按一下Ctrl + S保存。遇到VSCode自动补全弹出提示框时,仔细看一眼列表里每个函数后面的说明,尤其是参数类型,看多了自然就理解了C语言里各种函数的用法,这是一个零成本的学习途径。

第三个习惯,也是我想特别强调的:学会看编译报错信息。很多小白一看到终端里红色文字就慌,其实绝大部分报错信息已经把问题位置和原因写得明明白白。比如:

hello.c:3:5: error: expected ';' before 'return'

这句话的意思是:hello.c文件第3行第5列附近出错了,错误类型是expected ';' before 'return',翻译过来就是在return前面应该有个分号。你只要回到代码那里看一下,十有八九是第2行的printf语句末尾忘了加分号。这种报错信息你多读几次,写代码的准确率会有肉眼可见的提升。

第四个习惯:用VSCode的断点调试来理解程序执行流程。新手总觉得调试是高级功能,其实调试器是一个超级好用的教学工具。你在某一行代码前面点一下,出现一个红色圆点,然后按F5启动调试,程序会停在那一行,下面会显示所有变量的当前值,你按F10就能单步执行下一行。这个过程能非常直观地看到变量值怎么变化,比如循环里i从0变成1再变成2,每一步都能看见,这对理解C语言“程序是一步一步执行的”这个概念非常有帮助。

说了这么多,最后再分享一个拆解问题的方法:如果哪天你的环境坏了或者新电脑要重新配置,不用慌着从头再看一遍长篇教程。你就按三件事排查:编译器能不能跑(命令行输入gcc -v)、VSCode认不认编译器(C/C++扩展配置是否正确)、构建调试配置对不对(tasks.json和launch.json是否匹配)。这三件事捋顺了,环境基本就通了一大半。我在实际配置过程中还有一个小技巧:装好MinGW-w64之后先别急着打开VSCode,先单独打开命令提示符验证gcc命令,再开VSCode。这样一旦出问题,你能立刻判断是编译器的问题还是VSCode的问题,不用在两个工具之间来回排查。环境配置这东西,归根到底就是“哪里不对查哪里”,多试几次,你就变成周围朋友里那个“会配环境的大神”了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 10:48:26

YOLOv10船舶智能识别系统开发实战

1. 项目概述&#xff1a;基于YOLOv10的船舶智能识别系统 这个项目实现了一套完整的船舶目标检测流水线&#xff0c;从数据准备到模型部署的全流程解决方案。核心采用YOLOv10这一最新目标检测算法&#xff0c;配合PyQt5开发的图形界面&#xff0c;构建了一个可实际落地的船舶识别…

作者头像 李华
网站建设 2026/9/13 10:43:53

vue-devtools装不上?用预打包压缩包免编译安装,两分钟搞定

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 10:43:36

DDIA 导读(七):事务

本文是《Designing Data-Intensive Applications》&#xff08;DDIA&#xff0c;中文译名《数据密集型应用系统设计》&#xff09;第 7 章的导读。DDIA 是 Martin Kleppmann 所著的分布式系统经典&#xff0c;本系列逐章导读&#xff0c;把书的核心概念讲清楚。一句话主旨 事务…

作者头像 李华
网站建设 2026/9/13 10:43:28

DDIA 导读(九):一致性与共识

本文是《Designing Data-Intensive Applications》&#xff08;DDIA&#xff0c;中文译名《数据密集型应用系统设计》&#xff09;第 9 章的导读。DDIA 是 Martin Kleppmann 所著的分布式系统经典&#xff0c;本系列逐章导读&#xff0c;把书的核心概念讲清楚。一句话主旨 分布…

作者头像 李华
网站建设 2026/9/13 10:42:30

变压器励磁模型与电压暂降分析的Simulink实现

1. 变压器励磁模型的基础原理与Simulink实现变压器励磁模型是电力系统仿真中的核心组件&#xff0c;它直接影响着电压暂态过程的模拟精度。在Matlab/Simulink环境下&#xff0c;我们通常采用非线性电感模型来表征励磁特性&#xff0c;其本质是描述铁芯磁化曲线的饱和效应。1.1 …

作者头像 李华
网站建设 2026/9/13 10:41:57

Nuclei Templates 完整实战:用 11,000 个模板跑通漏洞扫描

Nuclei Templates 完整实战&#xff1a;用 11,000 个模板跑通漏洞扫描 【免费下载链接】nuclei-templates Community curated list of templates for the nuclei engine to find security vulnerabilities. 项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templat…

作者头像 李华