Tiny C Compiler
Tiny C Compiler(TCC) 是一个轻量级高速的C语言编译器。与其他C语言编译器不同,它是一个自我依赖的系统,不需要其他外部的汇编器和连接器。TCC的编译速度十分快,以至于编译一些大型项目都不需要Makefile文件。
TCC支持ANSI C,大部分的 ISO99 C的新标准和许多GNUC扩展以及C语言和汇编语言混编。
TCC可以用来执行 C脚本,即C语言源文件可以像Perl和Python一些脚本语言一样直接执行。编译过程十分迅速和可执行文件的执行速度不相上下。
TCC可以自动生成内存和边界检查,并允许所有的指针操作,即使没有相应库文件的引入,编译器依旧可以完成相应的检查工作。
TCC主要支持i386体系下的Linux和Windows系统。已经有测试版的ARM和TMS320C67XX体系下的TCC编译器。
基本信息
- 软件名称
Tiny C Compiler
- 更新时间
2.27
- 软件语言
C语言
- 种类
开发环境
特点
小
你可以在任何机器上使用该编译器编译C语言,一个完整的包括C语言预处理器,C语言编译器,C语言汇编器和C语言的连接器在内的TCC可执行程序只有100KB左右大小。
快
TCC在生成X86代码时没有字节头部开销,编译速度要比GCC快几倍。
编译器 | 时间 | 代码行数/秒 | MB/秒 |
TinyCC 0.9.22 | 2.27 | 859000 | 29.6 |
GCC 3.2 -O0 | 20.0 | 98000 | 3.4 |
无限制
任何C语言动态库都可以被直接引用,ISOC99的绝大多数标准也可自由使用。(C99特性变长数组VLA不支持)
安全
由于内在可选的内存和边界检查,将会减少很多潜在的安全漏洞。
命令行参数
tcc [options] [infile1infile2...] [`-run'infileargs...]
TCC 命令行选项和gcc命令行选项十分类似主要的区别在于TCC可以直接运行可执行程序并带参数。
下面是一些简单的例子
tcc -run a.c编译并执行a.c
tcc -run a.c arg1
编译并带参数arg1执行 a.c
tcc a.c -run b.c arg1
编译并连接执行 `a.c' 和 `b.c',参数arg1为main函数第一个参数