首页 > 代码库 > lwip-内存管理函数说明

lwip-内存管理函数说明



1、mem_init()   : 内存堆初始化函数,主要设置内存堆的起始地址,以及初始化空闲列表,lwip初始化时调用,内部接口。


2、void *mem_malloc(mem_size_t size)  : 申请分配内存,size为需要申请的内存字节数,返回值为最新分配的内存块的数据地址,注意


不是内存块的地址。如果为分配好内存,返回NULL。申请的内存堆是全局变量。


3、*mem_calloc(mem_size_t count, mem_size_t size) : 是对mem_malloc()函数的简单包装,两个入口参数,count为每个元素大小,


size为元素的总个数,两个参数的乘积就是实际要分配的内存空间的大小,与mem_malloc()不同的是它会把动态分配的内存清零。所以很多


人会选择调用mem_calloc(),这样肯定会清0,并且可以避免调用memset()。与mem_malloc()返回值一样。


4、void mem_free(void *rmem): 内存释放函数,rmem为待释放的内存块首地址。


5、mem_realloc(void *rmem, mem_size_t newsize) : 重新分配内存,指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。


6、static void plug_holes(struct mem *mem) :对相邻且未用的内存块进行合并。在mem_free中调用