Post Thumbnail

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

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

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

Похожее

Post Thumbnail

Revo

На эту пятницу у меня вас новый язык программирования, написанный на Zig Revo...

Post Thumbnail

Zig IO

В Zig 0.16 появился std.Io - кроссплатформенный интерфейс для ввода-вывода и кон...

Post Thumbnail

scripty

Scripty - это минимальный язык выражений без переменных, циклов и условий. Тольк...