TinyCC/tinycc
GitHub: TinyCC/tinycc
TinyCC 是一个极小极快的 ANSI C 编译器,支持直接将 C 源码作为脚本执行,解决快速编译与轻量化 C 开发的需求。
Stars: 2970 | Forks: 547
## Tiny C Compiler - C 脚本无处不在 - 最小的 ANSI C 编译器
## 功能:
- 小巧!你可以在任何地方编译和执行 C 代码,例如在
救援磁盘上。
- 快速!tcc 可以为 i386、x86_64、arm、aarch64 或
riscv64 生成机器码。编译和链接速度比 'gcc -O0' 快约 10 倍。
- 无限!任何 C 动态库都可以直接使用。TCC 正致力于
完全兼容 ISOC99。TCC 当然也可以编译
自身。
- 安全!tcc 包含一个可选的内存和边界检查器。边界
检查代码可以与标准代码自由混合。
- 直接编译并执行 C 源码。无需链接或
汇编。包含完整的 C 预处理器。
- 支持 C 脚本:只需在你的 C 源码第一行添加
'#!/usr/local/bin/tcc -run',即可直接从命令
行执行它。
## 文档:
1. 在 Linux、BSD 变体或 macOS 主机上安装:
./configure
make
make test
make install
注意:在 BSD 主机上,应使用 gmake 而不是 make。
对于 Windows,请阅读 tcc-win32.txt。
必须安装 makeinfo 才能编译文档。默认情况下,tcc 会
安装在 /usr/local/bin。./configure --help 显示配置
选项。
2. 简介
我们在此假设你了解 ANSI C。查看示例 ex1.c 以了解
程序的样子。
如果你需要小型的基础 libc
include 支持(尤其适用于软盘),可以使用 include 文件 。当然,你
也可以使用标准头文件,尽管它们的编译速度较慢。
你可以在 C 脚本的第一行加入 '#!/usr/local/bin/tcc -run' 作为开头
并设置其执行位(chmod a+x your_script)。然后,你就可以
像启动 shell 或 perl 脚本一样运行这段 C 代码了 :-) 命令行
参数会被传入 main 函数的 'argc' 和 'argv' 中,这与
ANSI C 中一样。
3. 示例
ex1.c:最简单的示例(hello world)。也可以直接作为
脚本运行:'./ex1.c'。
ex2.c:更复杂的示例:给定一个数字列表,
通过四则运算找出一个数字(基准测试)。
ex3.c:计算斐波那契数列(基准测试)。
ex4.c:更复杂的示例:X11 程序。事实上这是一个非常复杂的测试,
因为使用了标准头文件!与 ex1.c 一样,它也可以直接
作为脚本运行:'./ex4.c'。
ex5.c:使用标准 glibc 头文件的 'hello world'。
tcc.c:TCC 当然可以编译自身。用于检查代码
生成器。
tcctest.c:TCC 的自动测试,用于测试许多微妙的潜在 bug。在
执行 'make test' 时使用。
4. 完整文档
请阅读 tcc-doc.html 以了解 TCC 的所有功能。有关
Windows 移植版的额外信息请参见 tcc-win32.txt。
## 许可证:
TCC 在 GNU 较宽松通用公共许可证(GNU Lesser General Public License)下发布(参见
COPYING 文件)。
Fabrice Bellard。
标签:SOC Prime, 客户端加密, 开发工具, 系统编程, 编译器