首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解相干内存映射的文件

2012-07-31 
求解有关内存映射的文件内存映射在海量数据的计算的问题上能使用么?海量数据的计算 内存不可能有足够大的

求解有关内存映射的文件
内存映射在海量数据的计算的问题上能使用么?
海量数据的计算 内存不可能有足够大的空间。。
 所以想在硬盘上创建个8g的空文件 。。
 求怎么才能把它当内存一样使用从而完成整个计算呢?
 (数据要反复进行读写)

[解决办法]
只要注意操作文件读写中的文件指针偏移位置的记录,可以用全局变量记录
[解决办法]

探讨
引用:
64位操作系统可以处理8g的文件吧

8g是举个例子 。。也有可能比8g大,而且 不是所有的机器都是64位的 。。得考虑普遍适应性

[解决办法]
可以映射海量数据的,但是不能一次全映射到,32bit的系统最大虚地址空间是4GB,也就是映射的文件最大不能超过这个数,64bit的操作系统最大的虚地址空间是2^64,但是映射那么大的空间也不能一次处理完的,因为你的物理内存限制,反而会触发更多的缺页中断,影响性能
你的数据可以分段处理么?可以的话就先将文件分为若干段(如每段32MB),然后每次映射32MB的文件长度并处理,下一次映射文件的时候从上次结束处开始,然后循环映射&处理,直至文件处理完

热点排行