项目简介
本项目是Tiny C Compiler(TCC),作为最小的ANSI C编译器,能在任何地方编译和执行C代码。具备小巧、快速、功能无限、安全等特性,支持直接编译和执行C源文件,同时也支持C脚本。
项目的主要特性和功能
- 小巧:可在救援磁盘等任何环境下编译和执行C代码。
- 快速:生成优化的x86代码,无字节码开销,编译、汇编和链接速度比
gcc -O0
快约7倍。 - 功能无限:能直接使用任何C动态库,正朝着完全符合ISOC99标准发展,还可自编译。
- 安全:包含可选的内存和边界检查器,边界检查代码可与标准代码自由混合。
- 支持直接编译执行:无需链接或汇编,自带完整的C预处理器。
- 支持C脚本:在C源文件首行添加
#!/usr/local/bin/tcc -run
,即可像shell或perl脚本一样直接执行。
安装使用步骤
安装
在i386/x86_64/arm的Linux/OSX/FreeBSD主机上安装(Windows请阅读tcc-win32.txt),对于OSX和FreeBSD,应使用gmake代替make。
- 常规安装:
bash
./configure
make
make test
make install
- 外部构建(支持使用不同目录存放构建对象,与源码树分离):
bash
mkdir _build
cd _build
../configure
make
make test
make install
编译文档需安装Texi2html。默认情况下,tcc安装在/usr/local/bin
。使用./configure --help
查看配置选项。
使用
假设你已了解ANSI C,可以查看示例文件(如ex1.c)了解程序样式。
- 若需要小型基本libc包含支持,可使用头文件<tcclib.h>
,使用标准头文件编译速度较慢。
- 若要使用C脚本,在C源文件首行添加#!/usr/local/bin/tcc -run
,并设置执行权限(chmod a+x your_script
),然后即可像shell或perl脚本一样启动C代码,命令行参数会像ANSI C一样放入main
函数的argc
和argv
中。
示例运行
- 运行ex1.c(最简单的“hello world”示例,也可直接作为脚本运行):
bash ./ex1.c
- 运行ex4.c(使用标准头文件的X11程序,也可直接作为脚本运行):
bash ./ex4.c
完整文档
请阅读tcc-doc.html了解TCC的所有特性。Windows版本的额外信息可查看tcc-win32.txt。
许可证
TCC根据GNU Lesser General Public License分发(请参阅COPYING文件)。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】