zig
-
言語特徴
comptimeなるものがあるらしい- better C
- 文法はRustとても意識していそう
- Rust よりは安全性低い
- 手動メモリ管理?
-
WebAssemblyに気軽にコンパイル出来るらしい
-
bunというnote + npm + webpackなツールがzig製で流行っているらしい
-
ErrorUnion:
<error-ty>!<ret_ty>- Eitherみたいな
try <expr>で呼び出し
パッケージ
- zig study
- git cloneする
話題
- なぜ Zig の採用を検討しているのか. かなり雑に書いてるので、雑に読んでください。 | by V | Jul, 2022 | Medium
- QUIC を zigで実装する募集
- Rustチョットデキル
wasm build
wasm2wat demo でみると余計な
(module
(type $t0 (func (param i32)))
(type $t1 (func (param i32 i32) (result i32)))
(type $t2 (func))
(import "wasi_snapshot_preview1" "proc_exit" (func $wasi_snapshot_preview1.proc_exit (type $t0)))
(func $add (export "add") (type $t1) (param $p0 i32) (param $p1 i32) (result i32)
(i32.add
(local.get $p1)
(local.get $p0)))
(func $_start (export "_start") (type $t2)
(call $wasi_snapshot_preview1.proc_exit
(i32.const 0))
(unreachable))
(memory $memory (export "memory") 16)
(global $g0 (mut i32) (i32.const 1048576)))
wasi_snapshort_preview1,_startはいらないbuild-exeではなくbuild-libにする
zig build-lib src/main.zig -target wasm32-freestanding -dynamic -OReleaseSmall