arocc
1,865
Stars
116
Forks
18
Watchers
49
Open Issues
MIT
许可证
Zig
语言
2021-02-25
创建时间
2026-11-12
最近更新
项目能做什么
一个现代化、功能完备的 C 语言编译器。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<img src="https://aro.vexu.eu/aro-logo.svg" alt="Aro" width="120px"/> <!-- Graphic design is my passion -->
# Aro
A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
The project intends to support standard C and all common extensions:
| Version | Status | Issue |
| ---------------- | --------------------------- | ---------------------------------------------------------------------------------- |
| C2Y | Partial | [C2y support](https://github.com/Vexu/arocc/issues/1130) |
| C23 | Complete | |
| C17 | Complete excluding warnings | [Ensure C17 compatibility](https://github.com/Vexu/arocc/issues/820) |
| C11 | Complete excluding warnings | [Ensure C11 compatibility](https://github.com/Vexu/arocc/issues/821) |
| C99 | Complete excluding warnings | [Ensure C99 compatibility](https://github.com/Vexu/arocc/issues/822) |
| C95 | Complete | |
| C89 | Complete | |
| GNU extensions | Partial | [Ensure GNU C extension compatibility](https://github.com/Vexu/arocc/issues/824) |
| Clang extensions | Partial | [Ensure Clang C extension compatibility](https://github.com/Vexu/arocc/issues/825) |
Aro will be used as the C frontend for [C to Zig translation](https://github.com/ziglang/translate-c/) in the Zig toolchain.
## Codegen
Earlier there was a proof of concept backend capable of producing a valid hello world binary
but it was removed to make way for a new more capable backend which is still under construction.
The new backend will reuse parts of the self-hosted Zig compiler.
[#542](https://github.com/Vexu/arocc/issues/542)
## Using aro as a module
The following assumes that your package has a `build.zig.zon` file.
```sh-session
zig fetch --save git+https://github.com/Vexu/arocc.git
```
Add the following to your `build.zig`:
```zig
const aro = b.dependency("aro", .{
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("aro", aro.module("aro"));
// Optional; this will make aro's builtin includes (the `include` directory of this repo) available to `Toolchain`
b.installDirectory(.{
.source_dir = aro.path("include"),
.install_dir = .prefix,
.install_subdir = "include",
});
```
Now you can do
```zig
const aro = @import("aro");
```
in your Zig code.
阅读完整原文
项目深度分析 AI 生成
C-to-Zig 自动化迁移辅助工具与咨询服务
| 产品构想 | 利用 Aro 作为 Zig 工具链中 translate-c 的 C 前端这一核心定位,开发针对大型 C 项目的自动化迁移、重构辅助工具,或提供商业化迁移服务。 |
| 核心功能 | 基于 Aro 的高精度 C23/C17 语法解析、GNU/Clang 扩展兼容处理、自动化 Zig 代码生成与人工辅助重构工作流。 |
| 目标用户 | 计划将现有 C 语言底层库或系统软件迁移至 Zig 的研发团队(推测)。 |
| 难度/周期 | 高 · 6-12个月 · 成本:中(主要为研发与测试人力成本) |
| 收费模式 | B2B 迁移服务收费、商业版批量迁移工具授权(推测)。 |
| 竞争风险 | Zig 官方本身会免费集成 translate-c,纯工具的商业化护城河较浅,且市场规模受限于 Zig 生态的整体体量。 |
| 依据 | AI推测 |
轻量级、低内存占用的 C 语言静态分析与诊断 SaaS/CI 插件
| 产品构想 | 利用 Aro 标榜的“快速编译、低内存占用和良好诊断信息”特性,将其作为 Zig 模块嵌入,打造专为大型 C 项目或资源受限 CI 环境设计的极速 Linter 和代码质量检查工具。 |
| 核心功能 | 极速 C 语法与语义检查、低内存消耗的并发分析、友好的错误诊断报告、GitHub Actions/GitLab CI 集成。 |
| 目标用户 | 拥有庞大 C 语言代码库且对 CI 编译/检查速度敏感的软件团队、嵌入式开发团队(推测)。 |
| 难度/周期 | 中 · 3-6个月 · 成本:低至中(服务器与开发成本) |
| 收费模式 | SaaS 订阅制(按仓库或并发数收费)、私有化部署授权(推测)。 |
| 竞争风险 | Clang-Tidy 等现有成熟工具生态强大,需要找到明显的速度或内存优势切入点;GNU/Clang 扩展目前仅部分支持,可能影响现有项目兼容性。 |
| 依据 | AI推测 |
面向 Zig 生态的自动化 C FFI 绑定生成器
| 产品构想 | 利用 Aro 可作为 Zig 模块(build.zig.zon)直接引入的特性,开发一键式工具,帮助 Zig 开发者自动解析复杂 C 头文件并生成符合 Zig 习惯的安全 FFI 绑定代码。 |
| 核心功能 | 无缝集成 build.zig、自动解析 C 标准及部分扩展头文件、生成安全封装的 Zig 接口代码。 |
| 目标用户 | 需要在 Zig 项目中频繁调用成熟 C 语言库的中大型项目开发者(推测)。 |
| 难度/周期 | 中 · 2-4个月 · 成本:低 |
| 收费模式 | 开源核心+商业高级特性(如复杂宏转换、自动化测试用例生成)或赞助模式(推测)。 |
| 竞争风险 | Zig 原生已具备 `@cImport` 能力,工具必须提供显著优于原生体验的封装质量才能产生付费意愿。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| aurelw/AROcclusion | 中文介绍暂未生成 ARToolkit with a kinect for true occlusion of virtual object |
4 | C |
| MyClean1998/AROcclusionLearning | 中文介绍暂未生成 | 1 | Swift |
| arocchet/arocchet | 中文介绍暂未生成 | 1 | - |
| TwoClocks/aro-translate-c | 中文介绍暂未生成 Use AroCC to translate C to Zig |
1 | Zig |
| arocchi/arocchi-iit-phd-thesis-16 | 中文介绍暂未生成 PhD Thesis for candidate Alessio Rocchi, for 2016 session at |
1 | TeX |
| arocca65/arocca65 | 中文介绍暂未生成 Config files for my GitHub profile. |
0 | - |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2021-02-25,近 30 天仍在推送 |
| 社区活跃 | Star 1,865 / Fork 116 / Issue 49(数据支持,可自行核实) |
| 许可证 | MIT |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。