试图在Windows 7上分配超过2GB

Trying to alloc more than 2GB on a windows 7

本文关键字:分配 2GB Windows      更新时间:2023-10-16

我正在使用Windows 7,64位,8GB ram我需要使分配超过 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设置为 30milion,但我至少需要 10 亿(好吧,我知道我需要超过 8GB,但 nvm,我可以得到它,我只需要知道如何做到这一点)

我正在使用视觉工作室 2012

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

最好的办法可能是将应用程序编译为 64 位二进制文件,如果您知道它将运行的操作系统是 64 位的。