我正在编写自己的 malloc() 并且我已经想到了以下内容
struct myblock
{
struct myblock *next;
struct myblock *prev;
int isFree;
unsigned availablesize;
char *buffer;
}
和空间#define MEM_BUFFER (1024) 这将是“我的公羊”。如果我没有错,那么我会
char *array[MEM_BUFFER];
拥有 1024 个字节的数组(如果我错了,请纠正我)。
我们知道 MEM_BUFFER 也将包含占用空间的元数据。我有点困惑,我应该如何开始。
这是我的主要问题。我应该在每个分配请求上将结构分配给数组(如果是,那么从结构字符数组?)。
我应该在堆上处理双链表并从数组中跳过 sizeof(myblock) 字节吗?
最近两天我一直在考虑这个解决方案,但我仍然很困惑。