堆上非常大的数组(Visual C)
作者:互联网
我希望有人可以帮助我,我正在尝试使用Visual C 2010在我的应用程序上创建一个int [400000000](4亿)数组,但它会产生溢出错误
相同的代码在Linux上使用g运行.
我需要这个,因为我正在处理大型矩阵.
先感谢您.
解决方法:
如果您使用的是32位应用程序,则默认情况下您只有2GB的用户地址空间. 4亿个整数约为1.5GB.您很可能没有这么多的连续地址空间.可以强制32位窗口为每个进程分配3GB的用户地址空间,但这可能只是您的情况的一个空白.
如果您可以使用64位体系结构,那么这应该不是问题.否则,您应该找到一种不需要矩阵式连续存储块的方式来存储矩阵数据的方法,例如将其分块存储.
标签:visual-c-2010,c,arrays,visual-c 来源: https://codeday.me/bug/20191011/1896113.html