# Uber가 Zig를 사용하는 방법

> Clean Markdown view of GeekNews topic #6616. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=6616](https://news.hada.io/topic?id=6616)
- GeekNews Markdown: [https://news.hada.io/topic/6616.md](https://news.hada.io/topic/6616.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2022-05-26T09:02:37+09:00
- Updated: 2022-05-26T09:02:37+09:00
- Original source: [jakstys.lt](https://jakstys.lt/2022/how-uber-uses-zig/)
- Points: 9
- Comments: 1

## Topic Body

- Uber는 "zig cc" (bazel-zig-cc)를 사용하여 C/C++ 코드를 컴파일  
→ 현재는 Go Monorepo 에서만. 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`

## Comments



### Comment 10136

- Author: xguru
- Created: 2022-05-26T09:02:45+09:00
- Points: 1

[`zig cc`: a Powerful Drop-In Replacement for GCC/Clang](https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html)
