1#ifndef __MEM_POOL_H 2#define __MEM_POOL_H 3 4#define NODE_NUM 5000 5#define LIST_NUM 2 6//#define EIGHT_NUM 10000 7//#define EIGHT_NUM 10000 8 9typedef struct _list_node 10{ 11 void *addr; 12 struct _list_node *next_node; 13}list_node; 14 15typedef struct _manager_node 16{ 17 list_node *start_node; 18 list_node *last_node; 19 unsigned int addr_start; 20 unsigned int addr_end; 21 int node_num; 22 int available_num; 23}manager_node; 24 25//manager_node manager_list[LIST_NUM]; 26// 27//list_node list_8_node[NODE_NUM]; 28//list_node list_64_node[NODE_NUM]; 29//list_node list_16_node[NODE_NUM]; 30//list_node list_32_node[NODE_NUM]; 31 32int mem_pool_init(); 33void * mem_alloc(int num); 34void mem_free(void *addr); 35void mem_pool_destroy(); 36 37#define assert_param(param) if(param==NULL) return 0; 38#endif 39