TGViewer
Data Science: Алгоритмы и Структуры данных Data Science: Алгоритмы и Структуры данных @structuredata · 7.64K subscribers
Post #4707 523
OSDEV: Разработка аллокатора на С++ часть 4. mem_malloc_aligned

Подразумевается что читатель знаком с архитектурой аллокатора из части 3 и понимает алгоритм неявного списка свободных блоков который был освещен в части 1
Аллокатор работает стабильно, все тесты зеленые, включая тесты на стабильность. И следующим шагом логично бы реализовать перегрузки new и delete для abi, но вот незадача: там есть версии принимающие дополнительный аргумент, а именно выравнивание. Эту фичу я реализовать как раз забыл. В архитектуре которая рассматривается в предыдущей статье это оказалось простой, но интересной задачей. Ее мы и обсудим ниже.
Решение потребовало реализации функции mem_malloc_aligned которая выделит бОльший кусок памяти с учетом запрошенного выравнивания что бы мы там точно нашли правильно выровненный адрес.
Но что если адрес указателя из mem_malloc_aligned не совпадает с адресом указателя который вернул mem_malloc? Что делать в mem_free? Что делать в mem_realloc? Как мне работать с указателем перед которым не хедера?

https://habr.com/ru/articles/1047178/

Алгоритмы и Структуры данных
More from @structuredata
  1. Oct 15, 2026​Введение в криптографию и шифрование Когда-то материал из этой лекции читали в МГУ целых…
  2. Oct 15, 2026​Структура данных «очередь» (queue) — принципы работы С понятием очереди вы наверняка хоро…
  3. Oct 14, 2026Как платить за границей и за зарубежные сервисы в 2026 году? Можно переплачивать посредник…
  4. Oct 14, 2026​Визуализация 10 алгоритмов на графах Изучаете теорию графов? В статье вы найдёте 10 гифок…
  5. Oct 14, 2026Алгоритмы и структуры данных: примеры реализаций на JavaScript Если вы изучаете JavaScript…
  6. Oct 13, 2026Как разобраться в Computer Science Computer Science — программирование, математика и всё,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →