- Uber sử dụng
zig cc (bazel-zig-cc) để biên dịch mã C/C++
→ Hiện tại mới chỉ áp dụng trong Go Monorepo. Có kế hoạch mở rộng sang các ngôn ngữ khác cũng đang dùng toolchain C/C++
→ Vì có thể chọn phiên bản glibc và hỗ trợ cross-compile cho macOS
- Tuy nhiên, họ không có kế hoạch sử dụng chính ngôn ngữ Zig. Nói cách khác, Uber chỉ tận dụng toolchain C của Zig
- Uber đã quyên góp cho Zig Foundation (ZSF) và ký hợp đồng ưu tiên sửa lỗi (52.800 USD)
- Điểm mạnh của
zig cc
- Trình biên dịch C/C++ hoàn toàn khép kín, chỉ nặng 40MB. Chỉ bằng 1/10 so với Clang tiêu chuẩn
- Có thể liên kết với phiên bản glibc được chỉ định qua tham số dòng lệnh
- Host và Target được tách rời. Bất kể host là gì, cấu hình cho
linux-aarch64 và darwin-x86_64 vẫn giống nhau
- Việc liên kết với musl cũng chỉ giống như chọn một phiên bản libc khác
-target x86_64-linux-musl
1 bình luận
zig cc: một lựa chọn thay thế mạnh mẽ, dùng thay ngay cho GCC/Clang