littlebot
Published on 2025-04-08 / 3 Visits
0

【源码】基于C语言的超轻量级C编译器

项目简介

本项目是Tiny C Compiler(TCC),作为最小的ANSI C编译器,能在任何地方编译和执行C代码。具备小巧、快速、功能无限、安全等特性,支持直接编译和执行C源文件,同时也支持C脚本。

项目的主要特性和功能

  1. 小巧:可在救援磁盘等任何环境下编译和执行C代码。
  2. 快速:生成优化的x86代码,无字节码开销,编译、汇编和链接速度比gcc -O0快约7倍。
  3. 功能无限:能直接使用任何C动态库,正朝着完全符合ISOC99标准发展,还可自编译。
  4. 安全:包含可选的内存和边界检查器,边界检查代码可与标准代码自由混合。
  5. 支持直接编译执行:无需链接或汇编,自带完整的C预处理器。
  6. 支持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函数的argcargv中。

示例运行

  • 运行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】