【发布时间】:2014-05-12 17:34:07
【问题描述】:
有什么方法可以扩大 c++ 程序的堆大小吗?在 android 中,您可以通过在清单文件中将其声明为大来轻松做到这一点。
当我尝试在堆上分配十亿个数组元素时遇到了这个问题。
int main() {
int size = 1000000000;
int* nmbr = new int[size];
return 0;
}
【问题讨论】:
-
为什么要分配 4 GB 内存?在 32 位机器上,这甚至是不可能的。
-
@JoachimPileborg - 1) 有兴趣学习 2) 如果尺寸非常大,寻呼机不会处理吗? :-)
-
只需将您的代码编译为
x64或使用一些 os api 来分配大量内存 -
工作正常。延迟分配的虚拟内存非常便宜。
标签: c++ heap-memory heap-size