有没有办法扩大 C++ 程序的堆大小?在 Android 中,你可以通过在清单文件中将其声明为大型来轻松实现。
当我尝试在堆上分配十亿个数组元素时,我遇到了这个问题。
int main() {
int size = 1000000000;
int* nmbr = new int[size];
return 0;
}
有没有办法扩大 C++ 程序的堆大小?在 Android 中,你可以通过在清单文件中将其声明为大型来轻松实现。
当我尝试在堆上分配十亿个数组元素时,我遇到了这个问题。
int main() {
int size = 1000000000;
int* nmbr = new int[size];
return 0;
}
C++本身不知道什么是"heap(堆)"。这是一个实现问题,因此您需要查看编译器的文档。以下是通过谷歌搜索“MSVC堆大小标志”找到的内容:
http://msdn.microsoft.com/en-us/library/f90ybzkh.aspx
引用MSDN页面的话:
/HEAP选项设置堆的大小(以字节为单位)。此选项仅用于构建.exe文件。
x64
或使用一些操作系统API进行大型内存分配。 - Sebastian Hoffmann