【发布时间】:2013-11-10 01:48:21
【问题描述】:
内存类型分为堆、内存映射文件和虚拟内存三种。虚拟内存和内存映射文件有什么区别?
【问题讨论】:
-
阅读文档:VirtualAlloc() vs. MapViewOfFile()
标签: windows winapi operating-system
内存类型分为堆、内存映射文件和虚拟内存三种。虚拟内存和内存映射文件有什么区别?
【问题讨论】:
标签: windows winapi operating-system
所有内存都是虚拟的。 VirtualAlloc 是一种在进程中分配一些内存的方法。 (堆管理器使用它。)
内存映射文件是一种分配一些内存的方法,这些内存可以用来访问一个文件并且可以被多个进程共享。
【讨论】:
MMF 可以在进程之间共享。使用 VirtualAlloc 或 VirtualAllocEx 分配的虚拟内存只能从一个进程访问。
“内存映射文件包含虚拟内存中文件的内容。文件和内存空间之间的这种映射使包括多个进程的应用程序能够通过读写来修改文件直接进入内存。”
【讨论】: