LWIP_MEM_ALIGN(memp_memory) 原因就是在你申请完这部分空间后,系统会调用LWIP_MEM_ALIGN(数据起始地址对齐),而这个操作之前跟大家说过了,会将起始地址向上取整,那么就会有可能将所申请的空间大小减小[0,MEM_ALIGNMENT - 1],所以在实际申请的内存大小中添加MEM_ALIGNMENT - 1来保证对齐后得到的空间大小不小于实际...
*/voidmem_init(void){structmem*mem;LWIP_ASSERT("Sanity check alignment", (SIZEOF_STRUCT_MEM & (MEM_ALIGNMENT-1)) ==0);/* align the heap */ram =LWIP_MEM_ALIGN(ram_heap);/* initialize the start of the heap */mem = (struct mem *)ram; mem->next = MEM_SIZE_ALIGNED; mem->prev...
*/void*mem_malloc(mem_size_tsize){void*ret;structmemp_malloc_helper*element;memp_tpoolnr;mem_size_trequired_size = size +LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper));for(poolnr = MEMP_POOL_FIRST; poolnr <= MEMP_POOL_LAST; poolnr = (memp_t)(poolnr +1)) {#ifMEM_USE_...