标签:大小 合并 malloc c内存 匹配 允许 一个 情况 适配
malloc分三步:
适配、分割、合并。
1、适配
匹配>=请求字节大小的内存块。(至于选哪一个,有策略的)
首次适配。
从上一次适配结束位置开始,接着适配。
最佳适配。
2、分割
如果适配到了,选择切割(切割成几部分,看策略具体情况)
如果没适配到,将空闲链表中的相邻空闲内存合并,都合并完了,要么可以适配,要么不可以适配,如果不可以适配,只能想堆内存申请额外的大内存块了,然后添加到空闲链表中适配切割。
3、合并
边界标记技术,允许在常数时间内进行对前面的块合并。
标签:大小 合并 malloc c内存 匹配 允许 一个 情况 适配
原文地址:https://www.cnblogs.com/westlife-11358/p/10037056.html