为文件调用mmap两次

Ber*_*erk 2 mmap large-files

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

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

bma*_*ies 5

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

无论如何,您可以根据需要为每个文件制作尽可能多的映射.