gpt4 book ai didi

c - 如何在 C++ 中分配非常大的字段

转载 作者:行者123 更新时间:2023-12-04 09:44:50 24 4
gpt4 key购买 nike

我有一个问题。我需要分配几个具有数十亿个浮点元素的非常大的字段。

目前我正在使用:

float ****spaceE;
int x,y,z;
x = y = z = 100;

spaceE = (float****)malloc(x*sizeof(int));
for (int i=0; i<x; i++)
{
spaceE[i] = (float***)malloc(y*sizeof(int));
for(int j=0; j<y; j++)
{
spaceE[i][j] = (float**)malloc(z*sizeof(int));
for(int k=0; k<z; k++)
{
spaceE[i][j][k] = (float*)malloc(size[3]*sizeof(float));
}
}
}

但它占用了超过 2GB 的内存,Windows 终止了它。我需要像这样的数组很少而且更大,有没有更好的方法来做到这一点?

最佳答案

您应该使用内存映射文件,我认为这将是一个很好的解决方案。 http://msdn.microsoft.com/en-us/library/dd997372.aspx

关于c - 如何在 C++ 中分配非常大的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com