1

内存类型分为三种,堆、内存映射文件和虚拟内存。虚拟内存和内存映射文件有什么区别?

4

2 回答 2

1

MMF 可以在进程之间共享。使用 VirtualAlloc 或 VirtualAllocEx 分配的虚拟内存只能从一个进程访问。

“内存映射文件包含虚拟内存中文件的内容。文件和内存空间之间的这种映射使应用程序(包括多个进程)能够通过直接读取和写入内存来修改文件。”

http://msdn.microsoft.com/en-us/library/dd997372.aspx

于 2013-10-30T13:35:17.643 回答
0

所有的内存都是虚拟的。VirtualAlloc 是一种在进程中分配一些内存的方法。(堆管理器使用它。)

内存映射文件是一种分配一些内存的方法,这些内存可以用来访问一个文件并且可以被多个进程共享。

于 2013-10-30T13:43:33.727 回答