简单的问题,我正在编写一个需要打开巨大图像文件(8kx8k)的程序,但我对如何初始化巨大的数组以在 c++ 中保存图像有点困惑。
我一直在尝试这样的事情:
long long SIZE = 8092*8092; ///8096*8096
double* array;
array = (double*) malloc(sizeof(double) * SIZE);
if (array == NULL)
{
fprintf(stderr,"Could not allocate that much memory");
}
但有时我的 NULL 检查没有发现数组没有初始化,知道为什么吗?
此外,即使在具有 12 GB RAM 的 x64 机器上运行,我也无法初始化超过 2 个或 3 个数组,知道为什么吗?
我真的希望不必使用数组的各个部分。欢迎任何帮助。
谢谢。