页面文件支持的内存映射文件与堆 - 有什么区别?

时间:2011-11-05 10:24:46

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

使用系统页面文件支持的内存映射文件(通过CreateFileMapping(INVALID_HANDLE_VALUE, ...),而不是仅以通常的方式从堆中分配内存(malloc(...),{{1}等等)?

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

1 个答案:

答案 0 :(得分:6)

它是较低级别,它为您提供的不仅仅是malloc

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