【发布时间】:2015-09-29 17:17:37
【问题描述】:
我正在编写一个需要遍历 40gb 大二进制文件的程序,但我只有 16gb 的物理 RAM。一位朋友告诉我,我可以使用文件映射来缓解这个问题。我了解如何create a file mapping 和reading into a file map handle,以及文件映射如何将持久内存中的文件部分映射到不同的虚拟内存块以供读取。
所以如果我理解正确的话,我可以创建一个 10gb 的缓冲区,并将文件的前 10gb 读入这个缓冲区。但是当我必须读取文件上的 10gb 标记时,操作系统会自动为我获取另一个块,还是我必须在我的代码中手动这样做?
【问题讨论】:
标签: c++ winapi visual-studio-2013 windows-7 file-mapping