/************************
* 链表定义
************************/typedefstructblockhead_t {
Int32 signature;
Bool allocated;
unsignedlongsize;structblockhead_t*next;structblockhead_t*prev;
} blockhead;/**********************
* 链表头
**********************/staticblockhead*gHeapBase=NULL;//初始化为heap起始地址,大小为系统heap设置的大小,未标记,next,prev均为NULL/*************************************
* 为用户分配size大小的heap
*size - 需要分配的大小
*return: 成功时分配的地址
失败时NULL
*************************************/void*mmalloc(unsignedlongsize)
{
blockhead*blockptr=gHeapBase;
blockhead*newblock;
Bool compacted=FALSE;
size=(size+7)&~7;/*unsigned long align the size*///没看明白什么意思??????????????????????????DPRINTK("malloc(): size = 0x%08lx\n", size);while(blockptr!=NULL)
{if(blockp