为文件调用mmap两次

时间:2012-02-11 20:20:30

标签: large-files mmap

我想随机访问大文件的一部分。如果我需要文件的另一部分,打开我需要mmap的部分。我应该再次关闭第一个内存映射区域和mmap吗?还是可以同时打开两个内存映射区域?

我不想映射所有文件,因为它可能比RAM大,我将在我的程序中同时打开多个文件。

1 个答案:

答案 0 :(得分:5)

Mmapping不消耗RAM。您可以并且应该映射整个文件,除非它大于可用的地址空间。在64位计算机上,这是不太可能的。在32位上,这不是不可能的。

在任何情况下,您都可以根据需要为每个文件制作尽可能多的映射。