Распределитель памяти на си

preview_player
Показать описание
Привет, сегодня мы создадим РАСПРЕДЕЛИТЕЛЬ ПАМЯТИ НА СИ. Эта программа похожа на функции malloc() и calloc(), только ее ты сможешь написать своими руками. Поехали!

ТАЙМ КОДЫ
00:00 - вступление
00:24 - какую память будем распределять?
00:49 - начало создания программы (файл main.c)
01:22 - массив и указатель на него
02:04 - создание функции (alloc()) для распределения памяти
06:20 - создание функции (afree()) для очистки памяти
09:22 - подключения файлов, прототипы функций и подготовка к тестированию программы
10:45 - тестируем программу
11:08 - заключение

___________________________________________________________
Рекомендации по теме
Комментарии
Автор

Добрый вечер, Коллега. Ваш гайд очень помог в некотором смысле, спасибо. "Распределитель памяти", который Вы реализуете, называется "Пул памяти" (aka "Выделение блоков фиксированного размера"). К выделению вопросов нет. Однако к очистке. Вы просто сдвигаете указатель. Если объектов в пуле > 1, а Вы удаляете объект из середины пула, то 1) происходит фрагментация памяти, 2) Если перезаписать данные по адресу указателя, сотрутся данные последующего объекта (если его размер будет > предыдущего). В любом случае это очень плохое решение, так сказать, одноразовое.

Но в целом изложение хорошее, для новичков в Си прекрасно изложен материал.

АлексейВасильев-ою
Автор

Круто, а вот ты программист, для этого прям обязательна математика и английский? Просто я читаю и на разных сайтах пишется, что надо, на других что не надо

Лина-ны