程序中需要用到一个int型数组,数组元素个数750000000个,用new内存不足,分成了10份存储还是内存不足。想问下对于大数组应该如何申请空间存储?
用内存文件映射的方式~~~
750000000个,需要3GB的内存,而32bit下一个进程只能最大2G,你需要用x64的编译器,x64的操作系统,以及你的主机的物理内存要超过3GB(+操作系统和别的程序的内存,至少4~5GB以上)
谢谢您的回复。我的电脑是X64的操作系统,内存有8个GB,但是我把这组数据分成10份分别存储,用new开辟空间还是内存不足,不知道大数组应该如何申请空间存储?
可以尝试以string存储,需要时取出来再转成对应int
并不是分成10份存储就比一份存储更高级,就会更节约空间,分成10份还不是存储在内存中,除非是内存中找不出连续的这么大的空间的时候拆分更小或许有用。你检查一下你的构建的配置是是x86还是x64