首页 > 解决方案 > K&R 存储分配器说明

问题描述

我对 Kernighan - Ritchie: The C Programming Language - The Unix System Interface, page 185-189 中的存储分配器有一些疑问?

它在第 186 页上说:

对足够大小的空闲块的搜索从找到最后一个块的点 (freep) 开始;这种策略有助于保持列表的同质性。

如我所见,我们不一定需要freep,我们可以从base开始每次搜索。

标签: ckernighan-and-ritchie

解决方案


如果您总是从头开始,您将排空较大块列表的开头(因为它们更容易满足请求)。所以列表将从许多较小的块开始,对于中等或更大大小的请求将不得不遍历更多的列表才能找到合适的东西。


推荐阅读