微型 C 编译器

发布: (2026年2月8日 GMT+8 05:45)
3 分钟阅读

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

Download TCC

Compilation Speed

TCC 在 Links Browser 项目中的编译速度大约是 GCC 的 9 倍

CompilerVersionTime (s)Lines/secondMB/s
TinyCC0.9.222.27859 00029.6
GCC3.2 ‑O020.098 0003.4

该项目包含 76 936 行(包括头文件)。由于同一头文件在许多文件中被多次包含,实际编译了 1 950 947 行(67.2 MB)。测量在 2.4 GHz Pentium 4 上进行;实际时间包括编译、汇编和链接。

更近期的测试:

Online Documentation

Documentation

You Want to Help?

  • 向邮件列表报告 bug(并最终自行修复)。

License

TCC 在 GNU Lesser General Public License 下分发。

© 2001‑2018 Fabrice Bellard
Fabrice BellardTCC page

0 浏览
Back to Blog

相关文章

阅读更多 »

关于生成 C 的思考

静态内联函数实现数据抽象。当我学习 C 时,正值 GStreamer 的早期阶段 https://gstreamer.freedesktop.org/,哦,保佑它的心——它仍然……

我用 C(是的,C)写游戏(2016)

为什么我用 C 写游戏——是的,C。我是个不寻常的怪物。我最近制作的所有个人项目游戏都是用 vanilla C 编写的。没有人这么做,所以我……

我用 C 写游戏(是的,C)

为什么我用 C(是的,C)写游戏?我是一只不寻常的怪物。最近我所有的 solo‑project 游戏都是用 vanilla C 编写的。没有人这么做,所以我……