![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://spgrn.com/api/v3/image_proxy?url=https%3A%2F%2Fprogramming.dev%2Fpictrs%2Fimage%2F8140dda6-9512-4297-ac17-d303638c90a6.png)
The magical thing here are C header files. While it is certainly possible to crosscompile using traditional tooling, what zig does here is an all-in-one package that lets you cross-compile not only to a different architecture, but a different libc or operating system. Most impressive is it’s support for selecting target glibc version.
Actually there was some effort (I think currently on halt) to make those headers usable outside of zig. So yeah, it’s not a thing that is (or rather must be) zig specific, but right now zig is the only language that does that AFAIK
what’s the third thing called?