分类: C/C++
2009-05-09 10:56:58
首先申请一个MALLOC_SIZE大小的内存空间,然后在这个内存空间上建立malloc管理数据结构:
struct malloc_header
{
struct DListNode list; // manage the free block and used block
struct DListNode free_list; // manage the free block
uint_32 addr;
int size;
};
一旦我们在内存中划分出一块内存的时候,就将它作为一个节点插入到链表中,由于分配,使得空间的内存空间可能会出现不连续的情况,因此,我们另外一个链表管理空闲的内存空间。