ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[5.1:几种内存分配策略](第5章:LwIP的内存管理/5.1:几种内存分配策略.md) * [5.1.1:固定大小的内存块](第5章:LwIP的内存管理/5.1:几种内存分配策略/5.1.1:固定大小的内存块.md) * [5.1.2:可变长度分配](第5章:LwIP的内存管理/5.1:几种内存分配策略/5.1.2:可变长度分配.md) 常见的内存分配策略有两种,一种是分配固定大小的内存块;另一种是利用内存堆进行动态分配,属于可变长度的内存块。这两种内存分配策略都会在LwIP中被使用到,他们各有所长,LwIP的作者根据不同的应用场景选择不同的内存分配策略,这样子使得系统的内存开销、分配效率等都得到很大的提高。此外LwIP还支持使用C标准库中的malloc和free进行内存分配,但是这种内存分配我们不建议使用,因为C标准库在嵌入式设备中使用会有很多问题,系统每次调用这些函数执行的时间可能都不一样,这是致命的,因为内存分配中最重要的就是分配时间效率的问题。内存分配的本质就是事先准备一大块内存堆(可以理解为一个巨大的数组),然后将该空间起始地址返回给申请者,这就需要内核必须采用自己独有的一套数据结构来描述、记录哪些内存空间已经分配,哪些内存空间是未使用的,根据使用的机制不同,延伸出多种类型的内存分配策略。