试图在Windows 7上分配超过2GB
Trying to alloc more than 2GB on a windows 7
我正在使用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 位的。
相关文章:
- 将数组的地址分配给变量并删除
- vector.resize()中的分配错误
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 将地址分配给本地指针后,公共对象的变量将消失
- OpenGL大的3D纹理(>2GB)非常慢
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- 正在尝试重载二进制搜索树分配运算符
- GlobalAlloc而不是其他分配方法
- 使用 new in C++(在 Windows 上)分配大于 2GB 的单个对象
- 试图在Windows 7上分配超过2GB
- 当c#程序试图在c++ dll方法中使用cudaMalloc分配超过2GB时终止
- 奇怪的 malloc 行为不允许在 64 位进程上分配超过 2GB 的内存
- 在32位linux内核上使用c++在堆上分配超过2GB的空间