Tiny C Compiler最小的C语言编译器

TCC研究(1): Tiny C Compiler最小的C语言编译器,自己编译自己,tcccompiler


最近,在学习编译器技术, 研究了一下TCC, 记录一下。

Tiny C Compiler(简称TCC, 或Tiny CC)是世界上最小的C语言编译器,而且是开源的, 小到只有约100K. (VC, GCC动不动几十M几百M的, 汗)

别看它小, 功能还是很强. 可以编译所有C99标准的ANSI C程序 ,  支持CPU包括:X86 32或64位, ARM,支持Windows, Linux, OSX.(跨平台跨系统的能力,比VC强)

TCC是由大牛Fabrice Bellard开发的,这位大牛还开发过 Qemu, FFMpeg (没有FFMpeg, 就没有抄它的腾讯视频,暴风影音...)




一、下载TCC

主页: http://bellard.org/tcc/


下载页: http://download.savannah.gnu.org/releases/tinycc/




TCC最新版本是0.9.26

下载执行程序: tcc-0.9.26-win32-bin.zip  




无需安装的,只需要解压即可。


解压缩到  c:\tcc ,  可见目录下有 tcc.exe, 这个是编译器命令行程序,没有IDE界面的

将 c:\tcc 加入到 系统路径中 (PATH)后,则可以在任何命令行窗口中使用了。




二、使用TCC

用notepad写一个测试用的c程序,如下,存盘为 hello.c

#include <stdio.h>

main() {
    printf("hello,world\n");
}

用tcc编译,命令如下:

   tcc hello.c

则将生成  hello.exe ,    运行hello.exe看看




TCC可以不编译C程序,而是把它直接运行,就像脚本解释语言那样。命令行如下:

    tcc  -run hello.c

效果:hello.c不需编译,直接运行了

这个将C程序直接运行的功能,是TCC独有的,其它C编译器都不行。







三、更多例程


     tcc\examples 目录下有几个例程

   

 fib.c 是一个标准C语言例程,不多说 , 编译它:tcc fib.c

    hello_win.c 是一个Windows GUI例程, 编译它:tcc hello_win.c

 dll.c 是一个dll 例程,编译它:

  tcc -shared dll.c       //生成dll.dll文件
tiny_impdef dll.dll  // 生成dll.def文件
        tcc hello_dll.c dll.def  //hello_dll.c 是调用 dll.dll 的例程




四,用TCC编译TCC

     书上一直是这样说的: C语言是自己编译自己的, 就是说C语言的编译器是用C语言写的,把编译器的源代码编译一下,就成了C语言编译器

 做一下这个实验: 用TCC编译TCC源码

 

 首先下载TCC的源码,下载页: http://download.savannah.gnu.org/releases/tinycc, 下载源码:tcc-0.9.26.tar.bz2

    解压缩到  c:\tcc-0.9.26

    其中的文件主要有:

    

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值