从上图可以看到,虚拟内存机制(Virtual Memory
)是windows内存体系的基础,无论你是使用堆
,还是使用内存映射文件
,它们的底层都是基于虚拟内存来实现的。
从上往下,每一层的API在内部会依次调用下一层的API。下图中列举了每层API中经常使用的函数:
- CRT Memory Functions:
malloc, free, new, delete
- Local, Global Memory API:
LocalAlloc, GlobalAlloc
(这2个函数现在不建议使用,注意是为了兼容以前的老代码才保留下来的) - Heap Memory API:
HeapCreate, HeapAlloc, HeapDestory
- Virtual Memory API:
VirtualAlloc, VirtualFree
- Memory Mapped File API:
CreateFileMapping, MapViewOfFile, MapViewOfFileEx, UnMapViewOfFile