#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    for(;;)
    malloc(1000000);  
}

1 条评论

  • @ 2026-1-24 12:40:25

    程序行为 for(;;):无限循环,永远不会停止

    malloc(1000000):每次循环向操作系统申请约 1MB 内存

    不释放内存:申请的内存没有用 free() 释放

    后果 程序会疯狂占用内存,每秒可能分配几十到几百MB

    很快会耗尽电脑的所有可用内存

    导致系统卡死、崩溃、蓝屏

    可能触发操作系统的内存保护机制强制终止程序

    危险等级:⚠️ 高危 这个程序是典型的:

    DoS攻击(拒绝服务攻击)的简单形式

    内存泄漏炸弹

    恶作剧代码

    在在线判题系统上运行会导致内存超限错误

    千万不要运行! 如果你不小心运行了:

    立即按 Ctrl + C 终止程序

    如果系统已卡死,尝试 Ctrl + Alt + Delete 打开任务管理器强制结束

    最坏情况需要强制重启电脑

    合法用途? 这种代码有时用于:

    测试内存限制(在受控环境中)

    教学演示内存泄漏的危害

    压力测试系统稳定性

    但绝对不要在个人电脑或公共系统上随意运行!

    谢谢你

    • 1