使用boost :: interprocess以各种“块”存储映射30GB文件?

时间:2014-01-05 07:18:25

标签: c++ boost memory-mapped-files boost-interprocess

我可以使用boost :: interprocess包对整个文件进行内存映射:

boost::interprocess::file_mapping* fm = new file_mapping(FilePath, boost::interprocess::read_only);
boost::interprocess::mapped_region* mr = new mapped_region(*fm, boost::interprocess::read_only);
char* bytes = static_cast<char*>(mr->get_address());

然而,这会映射整个文件。我有一个30GB的文件 - 它不适合主内存。有什么方法可以使用相同的升压库从位置0映射到x然后我可以再次从位置x + 1映射到2 * x等?

0 个答案:

没有答案