在 POSIX 中映射文件的内存

发布于 2024-10-01 08:19:45 字数 209 浏览 5 评论 0原文

当在 POSIX 系统中映射文件时,我们是否需要保持文件描述符打开,直到我们完成 mmaped 内存块(并 close在我们munmap之后)或者我们可以(应该?)一旦mmap成功就关闭文件描述符吗?两者似乎都可以在我的 Linux 系统上运行。

When memory mapping files in a POSIX system, do we need to keep the file-descriptor open till we're done with the mmaped memory block (and close it after we munmap) or can (should?) we close the file descriptor once mmap succeeds? Both seem to work on my Linux system.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北城孤痞 2024-10-08 08:19:45

来自开放组标准

mmap() 函数应添加一个额外的
引用与关联的文件
文件描述符 fildes 是
不会被随后的 close() 删除
该文件描述符。这个参考
当没有时应被移除
到文件的更多映射。

From the Open Group standard

The mmap() function shall add an extra
reference to the file associated with
the file descriptor fildes which is
not removed by a subsequent close() on
that file descriptor. This reference
shall be removed when there are no
more mappings to the file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文