Delphi - 应用程序无法正确初始化

juh*_*ani 2 arrays delphi

我在Delphi应用程序中声明了表:

 x,y,z,r:array [1..10000000] of double;
 t1,t2,t3,t4:array [1..10000000] of integer;
Run Code Online (Sandbox Code Playgroud)

在一切都好之前,但现在我遇到了一些pcs错误(在大多数pc:s错误未来):

"The application failed to initialize properly (0xc0000005)"
Run Code Online (Sandbox Code Playgroud)

如果我更改表更小:

 x,y,z,r:array [1..5000000] of double;
 t1,t2,t3,t4:array [1..5000000] of integer;
Run Code Online (Sandbox Code Playgroud)

错误消失了

Lie*_*ers 12

您的计算机内存不足.

  • 双重需要8个字节.初始化4个10.000.000双精度阵列使用320.000.000字节.
  • 一个整数需要4个字节.4个整数数组的初始化使用160.000.000字节.

在启动时,你已经有效地消耗了480MB,而不是其他任何东西.

您应该使用在添加更多项目时自动增长的通用或专用容器,而不是在启动时分配所有内存.

想到一些容器