UberによるZigの使い方
(jakstys.lt)- Uberは「zig cc」(bazel-zig-cc)を使ってC/C++コードをコンパイルしている
→ 現在はGoモノレポでのみ利用中。C/C++ツールチェーンを使っている他の言語にも拡張する計画がある
→ glibcのバージョンを選択でき、macOS向けのクロスコンパイルが可能なため - ただし、Zig言語そのものを使う予定はない。つまり、ZigのCツールチェーンだけを活用している
- UberはZig財団(ZSF)に寄付を行い、バグ修正の優先対応契約を締結した($52800)
- zig cc の強み
- 40MBしかない、完全に自己完結したC/C++コンパイラ。標準的なClangの1/10にすぎない
- コマンドライン引数で指定したglibcバージョンにリンクできる
- HostとTargetがデカップルされている。ホストに関係なくlinux-aarch64とdarwin-x86_64の設定が同一
- muslへのリンクは、単に別のlibcバージョンを選ぶのと同じ
-target x86_64-linux-musl
1件のコメント
zig cc: GCC/Clangの強力なドロップイン置換