Loading... ## 提示 建议结合 [https://www.bilibili.com/video/BV14st5z6EaA/?spm_id_from=333.1387.homepage.video_card.click](https://www.bilibili.com/video/BV14st5z6EaA/?spm_id_from=333.1387.homepage.video_card.click) 进行使用 <div class="tab-container post_tab box-shadow-wrap-lg"> <ul class="nav no-padder b-b scroll-hide" role="tablist"> <li class='nav-item active' role="presentation"><a class='nav-link active' style="" data-toggle="tab" aria-controls='tabs-cc4608e35162ad183cd9fe3687092bb6930' role="tab" data-target='#tabs-cc4608e35162ad183cd9fe3687092bb6930'>Code 1</a></li><li class='nav-item ' role="presentation"><a class='nav-link ' style="" data-toggle="tab" aria-controls='tabs-4dd0ba3fe00e5c6f43c4cd02e88637ce341' role="tab" data-target='#tabs-4dd0ba3fe00e5c6f43c4cd02e88637ce341'>Code 2</a></li> </ul> <div class="tab-content no-border"> <div role="tabpanel" id='tabs-cc4608e35162ad183cd9fe3687092bb6930' class="tab-pane fade active in"> ```c #include <windows.h> #include <stdio.h> // 自定义内存分配函数,替代malloc void* my_malloc(size_t size) { // 调用Windows API申请内存,MEM_COMMIT表示提交物理内存 return VirtualAlloc( NULL, // 让系统自动选择内存地址 size, // 申请的内存大小 MEM_COMMIT, // 提交内存(实际分配物理内存) PAGE_READWRITE // 内存页权限:可读可写 ); } int main() { printf("开始申请内存,按Ctrl+C可终止...\n"); // 无限循环申请内存,直到系统无法分配 while (1) { // 每次申请1MB内存 char* a = (char*)my_malloc(1048576); // 如果内存分配失败,说明系统资源已耗尽 if (a == NULL) { printf("内存分配失败,系统可能已接近崩溃\n"); // 短暂延迟后继续尝试,可能会触发系统不稳定 Sleep(100); } } return 0; } ``` </div><div role="tabpanel" id='tabs-4dd0ba3fe00e5c6f43c4cd02e88637ce341' class="tab-pane fade "> ```c #include<stdio.h> int main(){ while(1){ char *a=malloc(1048576); } } ``` </div> </div> </div> ## TAG 此实验有风险。 上述代码均为测试代码,可能包含了更详细的注释,与实际视频中的代码可能不同。 最后修改:2025 年 12 月 05 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏
1 条评论
666 好东西