微型 C 编译器
发布: (2026年2月8日 GMT+8 05:45)
3 分钟阅读
原文: Hacker News
Source: Hacker News

Tiny C Compiler
News
我已经不再维护 TCC。请查看邮件列表获取最新信息。
Features
- SMALL! 在任何地方编译并执行 C 代码(例如救援磁盘上)。x86 版 TCC 可执行文件约 100 KB,包含预处理器、编译器、汇编器和链接器。
- FAST! 生成原生 x86 代码,没有字节码开销。编译、汇编和链接速度是 GCC 的数倍。
- UNLIMITED! 任意 C 动态库都可以直接使用。TCC 正在向完整 ISO C99 标准靠拢,甚至可以自行编译自身。
- SAFE! 可选的内存和边界检查器;检查过的代码可以自由与标准代码混合使用。
- 直接编译并执行 C 源码——无需单独的链接或汇编步骤。内置完整的 C 预处理器和类 GNU 汇编器。
- 支持 C 脚本:在 C 源文件的第一行添加
#!/usr/local/bin/tcc -run,即可直接在命令行运行。 - 使用
libtcc,TCC 可作为动态代码生成的后端。
Download
Compilation Speed
TCC 在 Links Browser 项目中的编译速度大约是 GCC 的 9 倍。
| Compiler | Version | Time (s) | Lines/second | MB/s |
|---|---|---|---|---|
| TinyCC | 0.9.22 | 2.27 | 859 000 | 29.6 |
| GCC | 3.2 ‑O0 | 20.0 | 98 000 | 3.4 |
该项目包含 76 936 行(包括头文件)。由于同一头文件在许多文件中被多次包含,实际编译了 1 950 947 行(67.2 MB)。测量在 2.4 GHz Pentium 4 上进行;实际时间包括编译、汇编和链接。
更近期的测试:
Online Documentation
You Want to Help?
- 向邮件列表报告 bug(并最终自行修复)。
Links
- TinyCC mailing list
- Savannah project page and Git repository
- OTCC – 最小的自编译伪 C 编译器
- FFASN1 – 小巧却强大的 ASN.1 编译器
- LLVM Compiler Infrastructure
- SmartEiffel – 使用 TCC 更快编译 Eiffel 代码
- The GNU C Compiler (GCC)
- The LCC Compiler
- The Small Device C Compiler (SDCC)
- Cyclone – 安全的 C 方言
- The D language
- Programming in C
- Scriptometer – 评估各种脚本语言(包括 TCC)
License
TCC 在 GNU Lesser General Public License 下分发。
© 2001‑2018 Fabrice Bellard
Fabrice Bellard – TCC page