每个进程有个缺省堆,用于操作系统对进程调用WIN32函数时分配所需内存。这个堆系统自动管理,用户无法干预(只能够编译时指定大小)。GetProcessHeap:获取缺省堆句柄。
堆的好处:部件保护(防止一个类型的内存对象破坏其他类型的)、更有效(相同结构使用一个堆,分配和释放时更有效)、局部访问(相同结构对象使用堆后,会处于同一页或者相邻页)
HeapCreate:创建堆(缺省时,堆会序列化对它的访问,即多个线程从堆中分配和释放内存不会破坏堆)
HeapAlloc:从堆中分配内存
HeapRealloc:重新分配
HeapSize:得到分配的该块内存的大小
HeapFree:释放堆中的内存块
HeapDestroy:释放整个堆
堆适合管理很多小的内存对象。
GetProcessHeaps:获得进程堆列表
HeapValidate:验证堆的完整性
HeapCompact:合并空闲块,并释放不包含已分配块的存储页
HeapLock:和常见的Lock和Unlock一样,用于同步控制
HeapUnlock:
HeapWalk:遍历堆