Вышло обновление открытого проекта ForgeZero 1.9.0 — мультиплатформенного инструмента сборки для C и ассемблера
В середине мая 2026 года состоялся выпуск обновления открытого проекта ForgeZero 1.9.0. Это мультиплатформенный консольный инструмент для сборки проектов на языках C, C++ и ассемблере (NASM, GAS, FASM). Решение не требует создания Makefile или иных конфигурационных файлов для базового использования. Исходный код проекта написан на языке Go и опубликован на GitHub под лицензией MIT.
По информации OpenNET, ForgeZero определяет тип файла и автоматически выбирает необходимый бэкенд. Каждый файл с кодом собирается в объектный файл, после чего выполняется проверка дублирующихся глобальных символов во всех объектах и осуществляется компоновка в единый исполняемый файл. Скомпилированные файлы кэшируются и повторно пересобираются только после внесения изменений в связанные с ними файлы с кодом. Возможно опциональное отслеживание изменений в ФС и пересборка после обновления файлов с кодом.
В решении поддерживаются компиляторы GCC, Clang, G++, Clang++; ассемблеры NASM, GAS, FASM; компоновщики LD, GCC, Clang; архиватор AR. Обязательные предупреждения для C и C++: "-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion". По умолчанию включены санитайзеры AddressSanitizer и UndefinedBehaviorSanitizer (отключаются флагом -sanitize=false). Поддерживаются платформы Linux, macOS, Windows (WSL2 и экспериментально нативно).
Основные изменения и доработки в ForgeZero:
в версии 1.5.0 реализованы множественные директории источников (source_dirs), явные списки файлов (source_files), шаблоны include/exclude, поле libs для библиотек компоновщика, файл .fzignore, многоуровневое слияние конфигурационных файлов;
в версии 1.6.0 добавлены инициализация проекта (fz -init, создаёт .fz.yaml, .fzignore, README.md), поддержка формата bin (-format bin) для
Читать на habr.com