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中调用
时间: 2024-12-28 11:29:36