如果您使用 mmap
讀取或寫入檔案,請勿假設它適用於所有檔案或對所有檔案都失敗。它可能適用於某些檔案,但對其他檔案則失敗。
使用 mmap
的正確方法是在您想要使用的特定檔案上嘗試它——如果 mmap
無法運作,則回退到使用 read
和 write
以另一種方式完成工作。
需要此預防措施的原因是 GNU 核心(HURD)提供了一個使用者可擴充的檔案系統,其中可能存在許多不同種類的「一般檔案」。它們中的許多都支援 mmap
,但有些則不支援。讓程式能夠處理所有這些種類的檔案非常重要。