You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何每次运行C代码时Microsoft Defender都会触发安全扫描?

解决Windows Defender强制扫描C编译程序的问题

以下是几个比逐个添加排除项更高效的解决方案:

1. 排除项目根目录(一次配置覆盖所有子项目)

如果你的所有C项目都集中在某个父目录下(比如D:\C_Projects),直接将这个根目录添加到Defender的扫描排除列表:

  • 打开Windows安全中心 → 病毒和威胁防护 → 管理设置 → 添加或删除排除项 → 添加排除项 → 选择"文件夹",选中你的项目根目录。
    这样后续新增的子项目文件夹都会自动被排除,无需重复操作。

2. 排除编译器二进制目录

TDM-GCC等编译器生成的可执行文件被Defender标记,可能是因为编译器本身的进程未被信任。将编译器的bin目录加入排除列表:

  • 路径示例:D:\TDM-GCC-64\bin
    这会让Defender信任该编译器生成的所有文件,从源头减少扫描触发。

3. 调整潜在不需要的应用程序(PUA)防护策略

很多时候,小型测试exe(比如Hello World)会被Defender误判为PUA,触发强制扫描:

  • 打开Windows安全中心 → 病毒和威胁防护 → 管理设置 → 滚动到"潜在不需要的应用程序"
  • 将"阻止潜在不需要的应用程序"改为"警告"模式,这样Defender只会给出提示,不会强制暂停程序进行扫描。

4. 用PowerShell批量添加排除项

如果你的项目分散在多个目录,可通过PowerShell命令批量配置:

# 示例:添加多个目录到排除列表
Add-MpPreference -ExclusionPath "D:\C_Projects", "E:\Test_Codes", "F:\Lab_Projects"

执行后这些目录下的所有文件都会被排除扫描。

注意事项

  • 不要完全关闭实时保护,仅针对可信的编译器和项目目录做排除,兼顾安全性和开发效率。
  • 如果问题仍存在,可尝试更新Windows Defender病毒定义,新版本可能修复误判问题。

内容的提问来源于stack exchange,提问作者jim chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 17:41:12