1

我正在使用 Windows 7、64 位、8GB 内存,我需要让 alloc 超过 2GB,但出现运行时错误

看看我的一段代码

#define MAX_PESSOAS 30000000

int i;
double ** totalPessoas = new double *[MAX_PESSOAS];
for(i = 0; i < MAX_PESSOAS; i++)
    totalPessoas[i] = new double [5];

MAX_PESSOAS 设置为 3000 万,但我至少需要 10 亿(好吧,我知道我需要超过 8GB 但 nvm,我可以得到它,我只需要知道怎么做)

我正在使用视觉工作室 2012

4

1 回答 1

3

如果您的应用程序正在构建为 64 位二进制文​​件,则无需任何特殊步骤即可寻址超过 8 GB。如果您的应用程序正在构建为 32 位二进制文​​件,则只要系统支持,您就可以通过启用4 GB 调整来寻址高达 3 GB(如果您运行的是 64 位 Windows,则为 4 GB) 。

如果您知道它将在其上运行的操作系统是 64 位,那么您最好的选择可能是将您的应用程序编译为 64 位二进制文​​件。

于 2013-11-13T23:13:08.123 回答