9 ポイント 投稿者 xguru 2022-05-26 | 1件のコメント | WhatsAppで共有
  • 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