提示
建议结合
https://www.bilibili.com/video/BV14st5z6EaA/?spm_id_from=333.1387.homepage.video_card.click
进行使用
#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;
}#include<stdio.h>
int main(){
while(1){
char *a=malloc(1048576);
}
}TAG
此实验有风险。
上述代码均为测试代码,可能包含了更详细的注释,与实际视频中的代码可能不同。
1 条评论
666 好东西