• 1.摘要
  • 2.基本信息
  • 3.特点
  • 4.命令行参数

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函数第一个参数