栈内存爆了,栈内存初始分配2M。看看你的代码是不是把栈内存分配爆了。
#include <iostream>
int main()
{
int _mb = 0;
while (malloc(1 << 20))
{
_mb++;
}
std::cout << "最大可开辟堆内存=" << _mb << "MB\n";
//double error_apply[1024 * 1024 * 32];//报错
double* ok_correct = (double*)malloc(1024 * 1024 * 32);//不报错
}
栈开辟内存方式就那几种,常用的就是new char[2048];要么小于2M要么修改编译器调整栈大小。
对没错,就是你新加的那几句代码出问题了。
(可以调整大一些的内存分配解决)