last updated: 2024-04-04 03:52

Intro

  • a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.

Install

  • Debian/Ubuntu
$ sudo apt install zig
  • Alpine Linux
$ doas apk add zig
  • 최신 리눅스 버전 설치
    • https://ziglang.org/download/
    • os와 아키텍쳐에 맞는 파일을 다운로드한다.
    • 압축을 푼 후 PATH를 설정해주면 바로 사용 가능하다.
    • 현재 사용 버전: 0.12
$ tar xJf zig-linux-x86_64-0.12.0-dev.3212+40e64245f.tar.xz
$ ln -s zig-linux-x86_64-0.12.0-dev.3212+40e64245f/ zig
$ cd zig; ls 
$ ./zig version
$ ./zig help

Hello World

  • hello-world.zig
const std = @import("std");

pub fn main() !void {
    std.debug.print("Hello, World!\n", .{});
}
  • run / test
$ zig run hello-world.zig
$ zig test hello-world.zig
  • build (default=debug, small, fast, safe)
$ zig build-exe hello.zig
$ ./hello

$ zig build-exe --name hello-small -O ReleaseSmall hello.zig
$ zig build-exe --name hello-fast -O ReleaseFast hello.zig
$ zig build-exe --name hello-safe -O ReleaseSafe hello.zig
$ zig build-exe --name hello-debug -O Debug hello.zig

$ ls -l 
$ ./hello-small

More Docs

  • zig-nvim - neovim에 zig 개발 환경 설정하기
  • zig-cc - Zig로 gcc/clang 컴파일러 대체하기

Study and Docs

Compile and Build