Lazy sunday literature: Heap Exploitation
Lazy sunday literature: Heap Exploitation
[Перевод] Почему первый вызов моей malloc всегда аллоцирует 72 КБ?
Мне нравится экспериментировать с кастомными аллокаторами памяти, используя собственные реализации. И хотя модульные тесты помогают убедиться в их корректности, настоящей проверкой становится работа аллокатора в реальных программах. Коротко о теме статьи. Стандартная библиотека C++ инициализирует механизм обработки исключений на раннем этапе, выделяя память для «резервного пула», чтобы можно было использовать её под выброс исключений, если malloc вдруг провалится.
https://habr.com/ru/companies/ruvds/articles/1006290/
#ruvds_перевод #программирование #c++ #с #linux #malloc #аллокация_памяти
Кастомные аллокаторы для игровых движков: arena, pool и slab на C++
Стандартный malloc — универсальный инструмент, но в геймдеве универсальность часто означает «недостаточно быстро». Когда бюджет кадра 16 мс, а каждый кадр рождаются тысячи объектов, имеет смысл разобраться в специализированных аллокаторах. Рассмотрим три основных типа: arena, pool и slab — когда какой использовать, как реализовать, и какие подводные камни ждут. Смотреть реализацию
https://habr.com/ru/companies/otus/articles/988086/
#C++ #кастомные_аллокаторы #управление_памятью #malloc #фрагментация_памяти #локальность_кэша #многопоточность
Memory Integrity Enforcement: A complete vision for memory safety in Apple devices