Post Thumbnail

Автор рассказывает, как устроены аллокаторы памяти в современных языках вроде Rust, Zig, Odin и C3, где они являются "гражданами первого сорта". В каждом модном языке своя фишка: в Rust глобальный аллокатор по умолчанию (хоть и не указано какой), в Zig аллокатор всегда передаётся параметром и не паникует при ошибках, в Odin есть два контекстных - обычный и временный, в C3 тоже два, но с приколом в виде макроса @pool, который чистит всю временную память при выходе из скоупа, а в Hare вообще один жёстко заданный аллокатор на всё.

В C тоже можно сделать удобный интерфейс с помощью макросов и структур с виртуальными таблицами, автор даже накидал примеры арены и обёртки над libc, чтобы показать, что ничего сверхъестественного в этом нет

Полезная статья, чтобы разобраться как вообще работает аллокация памяти в программировании

Похожее

Post Thumbnail

HTTP/2 h2c

Обычно HTTP/2 работает только поверх TLS через HTTPS. Но h2c позволяет использов...

Post Thumbnail

let-go

Ну вы поняли, сегодня пятница и для вас аж второй язык программирования за день ...

Post Thumbnail

Язык rye

Rye - это такой небольшой встраиваемый язык, который удобно использовать для кон...

Post Thumbnail

Врап

Автор предлагает паттерн для Go-сервисов: вынести обвязку и все связанное с деко...