Я пишу свой собственный таНос() и я уже понял следующеенаписать собственный таНос
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 также будет содержать матадаты занимаемого пространства. Я немного смущен, что мне следует начинать.
Это мой главный вопрос. следует назначить структуру массиву для каждого запроса на распределение (если да, то из массива struct char?).
Должен ли я обрабатывать двойной связанный список в куче и пропускать байты sizeof (myblock) из массива.
Я думаю об этом решении последние 2 дня, и я все еще смущен.
@unwind .. большое спасибо, чтобы дать мне направление, и я начал работать. мой второй вопрос: struct myblock * heap = (struct myblock *) heap_space; так мы можем начать с создания корневого узла по типу casting heap_space, но как насчет второго узла, я имею в виду, когда начнутся rquests? как я создам второй узел, чтобы начать работать. То же, что мы создаем сначала или ... как? – abidkhan303