new/malloc申请内存为什么会失败?
在我程序中有这三行代码:
addr1 = new BYTE[n1]; // line 1
addr2 = new short[n2]; // line 2
addr3 = new short[n2*4]; // line 3
在单步跟踪中,n1=8000,n2=2300,line 1运行成功,line 2出错并导致程序死掉。我多次高度,重启机器后还是这个地方出错,n1,n2保证是为正的。刚开始这部分是在一个线程中,后来我直接调用它,还是同样出错,同样原因?
后来我又改成 addr1 = new BYTE[n1 + n2*10]; 一次分配所有内存,还是出错,转到异常处理!
求救!