我在Delphi应用程序中声明了表:
x,y,z,r:array [1..10000000] of double;
t1,t2,t3,t4:array [1..10000000] of integer;
在一切正常之前但现在我遇到了一些电脑错误(在大多数电脑中:错误未来):
"The application failed to initialize properly (0xc0000005)"
如果我将表格更小:
x,y,z,r:array [1..5000000] of double;
t1,t2,t3,t4:array [1..5000000] of integer;
错误消失
答案 0 :(得分:12)
您的计算机内存不足。
在启动时你已经有效地消耗了480MB,而不计算其他任何东西。
除了在启动时分配所有内存,您应该使用通用或专用容器 ,在添加更多项目时自动增长。
想到的一些容器
答案 1 :(得分:4)
考虑使用动态数组,以便只根据需要分配内存。
x,y,z,r:array of double;
t1,t2,t3,t4:array of integer;
向元素添加元素:
SetLength(x, 1);
x[0] := 0.0;
虽然在previous question I asked我知道这不是完全必要的,但我总是打电话给
Finalize(x);
最后,只是为了确定。