首页 > 代码库 > 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中调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。