C++ 博尔兰C++;BCB 5-eAccessCarray数组太大

C++ 博尔兰C++;BCB 5-eAccessCarray数组太大,c++,memory,bpl,c++builder-5,C++,Memory,Bpl,C++builder 5,我使用的是BCB 5,我有一个DynamicCarray,在正常条件下可以完美工作,但最近我被迫将其用于一个大型数据集(大约7000个项目),我的异常处理程序抛出了这个EAccessViolation。这种情况发生在: try { sz++; Recon.Length = (sz + 1); } 当我检查侦察时,长度=4606 我已将链接器选项上的堆最大大小增加到最大值,但仍然出现此错误 是否有其他方法增加应用程序可用的内存为什么不使用在过去10年中更新过的编译器?Gcc和Mi

我使用的是BCB 5,我有一个DynamicCarray,在正常条件下可以完美工作,但最近我被迫将其用于一个大型数据集(大约7000个项目),我的异常处理程序抛出了这个EAccessViolation。这种情况发生在:

try
{
    sz++;
    Recon.Length = (sz + 1);
}
当我检查侦察时,长度=4606

我已将链接器选项上的堆最大大小增加到最大值,但仍然出现此错误


是否有其他方法增加应用程序可用的内存

为什么不使用在过去10年中更新过的编译器?Gcc和Microsoft编译器免费提供,它们都可以生成64位代码,这样您就可以获得与机器中相同的内存。问题是,这是一个使用BCB 5设计和定制的遗留应用程序,我不确定它是否可以使用这些编译器工作或编译,但我想我不得不尝试一下,作为最后的手段。您编译它的是什么型号?@Matsbeterson not10~13年。我查看了我的bcb.exe和bcc32.exe-它们是在2000年8月7日创建的=),因此在过去10年中没有更新过!我的观点不是bcc到底有多老,而是它不具有任何合理意义的现代性(我确信,如果它是某种大型工业设备,10年以上的使用年限将被视为现代,但在编译器中则不是)。