Aro 一个新的 Zig 编译器
Aro 是一个 C 编译器,最初被设计为 Zig 编译器的替代方案。
- 官 网: http://aro.vexu.eu
- GitHub: https://github.com/Vexu/arocc
这个编译器可以作为 Zig 的一个库使用,包含整个编译器的 aro 模块,以及与语言无关的 aro_backend 模块。aro_backend 模块提供了一种中间表示 (IR),未来可以进行优化,并通过 Zig 编译器的自托管后端将其翻译成机器代码。
Aro 是一个旨在提供快速编译、低内存占用和良好诊断功能的 C 编译器。
Aro 被包含在 Zig 编译器中,作为 translate-c 的替代 C 前端,最终目标是通过首先将 C 文件翻译成 Zig 来编译这些文件。Aro 的开发托管在 https://github.com/Vexu/arocc,并在需要时从该仓库更新 Zig 的依赖项。
目前,大多数标准 C 特性支持到 C23,并且支持很多来自 GNU、MSVC 和 Clang 的常用扩展。
基本代码生成已经支持 x86-64 Linux,并且可以生成一个有效的 hello world 程序: