今天学习一下Windows的堆
堆块儿首先包括两个部分:
1.块首:
堆块头部标识堆块自身信息的
2.块身
数据区
堆表:一般位于堆区的起始位置,主要信息包括堆块的位置,堆块的大小,空闲还是占用。
主要有两种:双向链表空表,单向链表快表。
其中快表为了提高效率所以不会发生堆块合并。
堆操作分为三种:分配,释放,合并
空表是最优分配,次优分配时会切割最优大小块。
注意调试堆时会进入调试状态,与真实情况不符。
今天学习一下Windows的堆
堆块儿首先包括两个部分:
1.块首:
堆块头部标识堆块自身信息的
2.块身
数据区
堆表:一般位于堆区的起始位置,主要信息包括堆块的位置,堆块的大小,空闲还是占用。
主要有两种:双向链表空表,单向链表快表。
其中快表为了提高效率所以不会发生堆块合并。
堆操作分为三种:分配,释放,合并
空表是最优分配,次优分配时会切割最优大小块。
注意调试堆时会进入调试状态,与真实情况不符。