9 पॉइंट द्वारा xguru 2022-05-26 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Uber C/C++ कोड को compile करने के लिए zig cc (bazel-zig-cc) का उपयोग करता है
    → फिलहाल केवल Go Monorepo में। आगे चलकर इसे उन दूसरी भाषाओं तक बढ़ाने की योजना है जो C/C++ toolchain का उपयोग करती हैं
    → क्योंकि इसमें glibc version चुनना संभव है, और macOS cross compilation भी संभव है
  • लेकिन Zig language को खुद इस्तेमाल करने की कोई योजना नहीं है। यानी Zig के सिर्फ C toolchain का उपयोग किया जा रहा है
  • Uber ने Zig Foundation (ZSF) को दान दिया है, और bug fix priority contract किया है ($52800)
  • zig cc की खूबियां
    • सिर्फ 40MB का पूरी तरह self-contained C/C++ compiler। standard Clang के मुकाबले केवल 1/10 आकार
    • command line argument में दिए गए glibc version के साथ link किया जा सकता है
    • Host और Target decoupled हैं। host चाहे कोई भी हो, linux-aarch64 और darwin-x86_64 की setting एक जैसी रहती है
    • musl के साथ link करना बस एक और libc version चुनने जैसा है: -target x86_64-linux-musl