void*mem_malloc(mem_size_tsize_in){mem_size_tptr,ptr2,size;structmem*mem,*mem2;#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXTu8_tlocal_mem_free_count=0;#endif/* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */LWIP_MEM_ALLOC_DECL_PROTECT();if(size_in==0){returnNULL;}/* Expand the size ...
而 memp_mem_malloc 是LWIP 内存池管理中的一个函数,用于从指定的内存池中分配内存。当 memp_mem_malloc 返回0 时,表示内存池中没有足够的内存可供分配,这可能会导致 pbuf_alloc 失败。下面我将从几个方面详细分析这个问题: 1. memp_mem_malloc 返回0 的情况 memp_mem_malloc 函数尝试从内存池中分配一块...
memp =LWIP_MEM_ALIGN(memp_memory);/* for every pool: */for(i =0; i < MEMP_MAX; ++i) { memp_tab[i] =NULL;/* create a linked list of memp elements */for(j =0; j < memp_num[i]; ++j) { memp->next = memp_tab[i]; memp_tab[i] = memp; memp = (struct memp *)((...