视频第一处代码
#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);
}
}
注意
此实验有风险。
上述代码均为测试代码,可能包含了更详细的注释,与实际视频中的代码可能不同。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容