概念:内存池则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是,使得内存分配效率得到提升。
节点数据结构:
struct mp_node_s
{
unsigned char *start;
unsigned cahr *end;
struct node *next;
int failed; //标识
}
大块内存:
struct mp_large_s
{
struct mp_large_s *next;
void *alloc; //指向当前内存块的地址
}
内存池入口:
strcut mp_pool_s
{
size_t max;
struct block *n;
}
先写到这, 以后继续补充。