上一篇:,上一级:编写 C 代码   [目录][索引]


5.11 Mmap

如果您使用 mmap 来读取或写入文件,请不要假设它在所有文件上都有效,或者在所有文件上都失败。它可能在某些文件上有效,而在另一些文件上失败。

使用 mmap 的正确方法是尝试在您想要使用的特定文件上使用它——如果 mmap 不起作用,则退回到使用 readwrite 以另一种方式完成工作。

需要采取此预防措施的原因是,GNU 内核 (HURD) 提供了一个用户可扩展的文件系统,其中可以有许多不同类型的“普通文件”。它们中的许多支持 mmap,但有些不支持。重要的是使程序能够处理所有这些类型的文件。