标签: large-files mmap
我想随机访问大文件的一部分。如果我需要文件的另一部分,打开我需要mmap的部分。我应该再次关闭第一个内存映射区域和mmap吗?还是可以同时打开两个内存映射区域?
我不想映射所有文件,因为它可能比RAM大,我将在我的程序中同时打开多个文件。
答案 0 :(得分:5)
Mmapping不消耗RAM。您可以并且应该映射整个文件,除非它大于可用的地址空间。在64位计算机上,这是不太可能的。在32位上,这不是不可能的。
在任何情况下,您都可以根据需要为每个文件制作尽可能多的映射。