LWIP动态内存池的相关操作是怎么样的?

答:与内存池管理相关的函数有三个:内存池初始化函数memp_init,在内核初始化时,该函数必须被调用,以完成内存池的建立;内存池分配函数memp_malloc,通常被内核调用,以实现内核中固定数据结构空间的申请;内存池释放函数memp_free。

      初始化函数的示意图如下所示:

           

而函数memp_malloc函数的分配过程其实很简单,若memp_tab[]数组中相应链表的指针为空,说明该类型的内存池已经没有了,分配失败,否则选择链表中的第一个内存池返回。

内存池的释放也就是把内存块归还到内存池的过程。

猜你喜欢

转载自blog.csdn.net/m0_38056437/article/details/84195800
今日推荐