Объявление исполняемых файлов и библиотек
Добавляйте артефакты в граф сборки.
«Объявление исполняемых файлов и библиотек» — бесплатный урок Zig Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Артефакты для сборки
Компилируемые объекты называются артефактами: это исполняемый файл, который Вы запускаете, или библиотека, с которой связывается другой код. Они объявляются в build.zig. 📦
Добавьте исполняемый файл
Создайте запускаемую программу с помощью addExecutable. Укажите её имя и корневой исходный файл, содержащий main.
const exe = b.addExecutable(.{
.name = "app",
});Укажите корневой модуль
Артефакту нужен корневой модуль root_module, созданный из главного файла, а также выбранные ранее значения target и optimize.
.root_module = b.createModule(.{
.root_source_file = b.path("src/main.zig"),
}),Передайте target и optimize
Этот модуль также принимает поля target и optimize, поэтому исполняемый файл учитывает параметры, указанные в командной строке.
.target = target,
.optimize = optimize,Установите результат
Создать exe недостаточно: с помощью installArtifact укажите Zig помещать его в zig-out, чтобы обычная сборка создавала этот файл.
b.installArtifact(exe);Где находятся результаты
По соглашению установленные двоичные файлы находятся в каталоге zig-out/bin. Запустите zig build и найдите там недавно скомпилированную программу.
zig-out/bin/appДобавьте библиотеку
Для повторно используемого кода вместо этого используйте addLibrary. Она создаёт артефакт библиотеки, который другие модули могут импортировать и подключать.
const lib = b.addLibrary(.{
.name = "mathz",
});Статическая или динамическая
Библиотека может быть статической (включённой в вызывающий код) или динамической (общим файлом). Тип связывания задаётся при объявлении библиотеки.
.linkage = .static,Свяжите библиотеку с exe
Соедините их, чтобы exe мог вызывать код библиотеки: используйте linkLibrary, чтобы добавить зависимость.
exe.linkLibrary(lib);Нужна libc?
Если Ваш код вызывает стандартные функции C, запросите libc для артефакта с помощью linkLibC, чтобы была подключена нужная системная библиотека.
exe.linkLibC();Граф артефактов
Каждый артефакт — это узел, а связывание добавляет рёбра. Вместе они образуют граф сборки, который Zig обходит при запуске сборки. ✅
Быстрая проверка
Вспомните, какой вызов действительно помещает собранный двоичный файл в zig-out.
Повторение
Вы объявили артефакты с помощью addExecutable и addLibrary, задали их корневой модуль и цель, а затем связали их с помощью installArtifact и linkLibrary. 🎯
Часто задаваемые вопросы
Урок «Объявление исполняемых файлов и библиотек» бесплатный?
Да — полный текст урока «Объявление исполняемых файлов и библиотек» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объявление исполняемых файлов и библиотек»?
Добавляйте артефакты в граф сборки. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Объявление исполняемых файлов и библиотек»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Анатомия файла build.zig
- Объявление исполняемых файлов и библиотек
- Этапы сборки и zig build run
- Параметры и флаги сборки