virtualAlloc和MapViewOfFile有什么区别?

时间:2013-10-30 13:05:55

标签: windows winapi operating-system

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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