Post Thumbnail

Автор написал игру 2048 для Game Boy Advance на Zig и объясняет, почему этот язык отлично подошел для embedded-разработки под консоль.

Байтоебство, но красивое

Главные плюсы: встроенная кросс-компиляция, система сборки, позволяющая в одном build.zig описать все шаги от линковки до кодогенерации спрайтов, и особенно packed structs с нестандартными целочисленными типами (например, u2), которые делают работу с аппаратными регистрами GBA читаемой и удобной. Ну и конечно отмечаются comptime-вычисления, автор использовал их как раз для сжатия спрайтов на этапе компиляции. Еще ему понравилась гибкая стандартная библиотека с кастомными аллокаторами

И недостатков рассказывает, что в zig ограниченная поддержка инлайн-ассемблера, невозможность указать ARM/Thumb-режим для отдельной функции, и проблемы с "weird memory" GBA, где нельзя писать в видеопамять 8-битными операциями

Похожее

Post Thumbnail

Треды в Zig

Автор разбирает устройство std.Io.Threaded в Zig - реализации интерфейса ввода-в...

Post Thumbnail

Zig на примерах

Это интерактивное введение в язык Zig через примеры программ, оформленное в стил...