Параметры и флаги сборки
Настраивайте сборки из командной строки.
«Параметры и флаги сборки» — бесплатный урок Zig Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Настройка из CLI
Хорошая сборка адаптируется без изменений в коде. Zig позволяет открыть пользователям параметры, которые они задают в командной строке во время сборки. ⚙️
Флаг оптимизации
Поскольку Вы использовали standardOptimizeOption, пользователи передают -Doptimize, чтобы выбрать режим, например -Doptimize=ReleaseFast для быстрой сборки.
zig build -Doptimize=ReleaseFastФлаг цели
Аналогично standardTargetOptions считывает -Dtarget, поэтому Вы можете одной командой собрать программу для другой платформы на своём компьютере.
zig build -Dtarget=x86_64-linuxОпределите собственный параметр
Добавьте собственный флаг с помощью b.option. Укажите тип, имя флага и справочное описание для пользователей.
const verbose = b.option(bool, "verbose", "Log extra output");Параметры необязательны
b.option возвращает необязательное значение: null, если пользователь его не передал. Используйте orelse, чтобы задать разумное значение по умолчанию.
const v = verbose orelse false;Передайте его через CLI
Пользователь задаёт логический параметр по имени. Поэтому -Dverbose=true включает его, а при отсутствии флага сохраняется значение по умолчанию.
zig build -Dverbose=trueМножество типов значений
Параметры бывают не только логическими. Можно объявлять целые числа, строки или перечисления, а Zig сам разбирает и проверяет значение.
const n = b.option(u32, "threads", "Worker count");Передайте параметры в код
Чтобы передать параметры в программу, создайте модуль параметров с помощью b.addOptions и добавьте поля, которые исходный код сможет прочитать во время компиляции.
const opts = b.addOptions();Добавьте константу времени компиляции
Поместите значение в этот модуль с помощью addOption, задав имя константы, которую код будет импортировать и читать.
opts.addOption(bool, "verbose", v);Импортируйте параметры в исходный код
Откройте модуль для артефакта с помощью addOptions, а затем импортируйте его в коде по имени с помощью import, чтобы читать эти константы.
const config = @import("config");Найдите все флаги
Каждый объявленный Вами параметр появляется в zig build --help вместе с описанием, поэтому пользователи узнают, как настроить сборку. ✅
zig build --helpБыстрая проверка
Вспомните вид командной строки для собственного параметра сборки.
Повторение
Вы настроили сборки с помощью флагов: встроенных -Doptimize и -Dtarget, значений b.option и addOptions для передачи констант в код. 🎯
Часто задаваемые вопросы
Урок «Параметры и флаги сборки» бесплатный?
Да — полный текст урока «Параметры и флаги сборки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «Параметры и флаги сборки»?
Настраивайте сборки из командной строки. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Параметры и флаги сборки»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Анатомия файла build.zig
- Объявление исполняемых файлов и библиотек
- Этапы сборки и zig build run
- Параметры и флаги сборки