【问题标题】:Pagefile-backed memory-mapped files vs. Heap -- what's the difference?页面文件支持的内存映射文件与堆 - 有什么区别?
【发布时间】:2011-12-22 14:28:48
【问题描述】:

使用由系统分页文件支持的内存映射文件(通过CreateFileMapping(INVALID_HANDLE_VALUE, ...),而不是像通常的方式(malloc(...)HeapAlloc(...) 等)那样仅从堆中分配内存)有什么优势?

即我什么时候应该使用哪个?

【问题讨论】:

  • 共享内存,Windows中任何IPC机制的核心。

标签: c++ c winapi heap-memory memory-mapped-files


【解决方案1】:

它的级别较低,比malloc 提供的更多:

  • 可以与其他进程共享映射(当然也需要同步)
  • 您可以设置内存的权限(例如您可以通过PAGE_READONLY拥有只读内存)
  • 可以设置一些缓存/页面参数

【讨论】:

  • 它也应该避免复制文件两次。
猜你喜欢
  • 2011-11-09
  • 2012-06-24
  • 2011-06-29
  • 2011-04-22
  • 1970-01-01
  • 2017-10-19
  • 2021-11-10
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多