【问题标题】:Access non-persisted memory-mapped files访问非持久内存映射文件
【发布时间】:2020-11-09 11:12:39
【问题描述】:

我在 Linux for C++ 中找不到用于非持久内存映射文件的库。我搜索了一段时间以找到任何库,但没有任何理由说明它在 Linux 中不存在,以及在两个程序之间共享内存而不是非持久内存映射文件可以工作。 提前致谢。

【问题讨论】:

  • “非持久化内存映射文件”是什么意思?它们与正常的文件内存映射有何不同?
  • 您可能需要一些时间来刷新the help pages,尤其是what's on-topic(因为不需要库)。
  • 我的问题是为什么 Linux 什么都没有,而 Windows 却有这么多。非持久化内存映射文件仅在 ram 中,并且在您的硬盘上没有备份。
  • 对我来说,这听起来更像是共享内存,而不是内存映射文件。
  • 共享内存是可能的,但对于我的问题,将其作为“文件”进行管理具有很大的优势。例如,使用文件调用图像查看器,这对于共享内存来说要困难得多。

标签: c++ linux posix mmap memory-mapped-files


【解决方案1】:

不需要图书馆。 POSIX 标准直接支持这一点。

mmap 上使用MAP_ANONYMOUS

映射没有任何文件支持;它的内容被初始化为零。

【讨论】:

    猜你喜欢
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多