# TinyCC **Repository Path**: simblk/tinycc ## Basic Information - **Project Name**: TinyCC - **Description**: TinyCC - 世界上最小的 C 语言编译器 - **Primary Language**: Unknown - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tiny C 编译器 - 世界上最小的 ANSI C 编译器 # 分支说明 - 修改了 -MD、-MF 生成 dep (makefile 依赖关系)的工作逻辑,不再输出系统头文 件,且无需再和 -c 搭配使用,也不会随同生成 obj 目标文件。 - 增加了兼容 GCC 的 -MM, -MT 依赖关系生成选项,现在可以轻松在 TCC 和 GCC 之间 切换而保持不变的 makefile 依赖关系生成了。 - 修改了 Windows 系统下 tcc.exe 的安装位置,既可以在 TCC 目录下,也可以放在 TCC\bin 目录下,以保持和其他工具软件平行。 # 特性 - 尺寸小!你可以在任何地方编译和执行C代码,比如一张系统恢复盘。 - 速度快!tcc 生成优化过的 x86 代码。完全没有字节码开支,编译,汇编和链接比 'gcc -O0'快7倍。 - 无限制!任何 C 动态链接库都可以直接使用,TCC 完全兼容 ISOC99 标准。TCC当然 也可以编译自身。 - 超安全!tcc 包含一套可选的内存和边界检查器,边界检查过的代码可以安全的与标 准代码混合在一起使用。 - 直接编译和运行 C 代码。无需链接或者汇编。包含完整的 C 与处理器。 - 支持以 C 语言作为脚本使用:只需要在你的第一行 C 代码添加 '#!/usr/local/bin/tcc -run',然后就可以直接从命令行执行。 # 文档 在 i386/x86_64/arm Linux/OSX/FreeBSD 主机上: > ./configure > make > make test > make install 注意: OSX 和 FreeBSD 上应该使用 gmake 而不是 make。 Windows 用户应当阅读 tcc-win32.txt。 编译文档必须安装 makeinfo。tcc 被默认安装在 /usr/local/bin。 > ./configure --help 显示配置选项。 # 介绍 我们假设读者都懂得 ANSI C。阅读 ex1.c 来了解代码编写。 包含的 文件可以作为一个小型基础 libc 来使用(尤其对软盘有用)。 当然,你也可以用标准头文件,虽然标准头文件编译起来慢一些。 你可以第一行写 > '#!/usr/local/bin/tcc -run' 来把 C 语言代码作为脚本执行, 命令行参数被正常的传入 'argc' 和 'argv' 参数。 # 例子 ex1.c: 最简单例子 (hello world). 可以直接作为脚本执行: > './ex1.c'. ex2.c: 更复杂的例子 ex3.c: 计算费波纳齐数列 (benchmark). ex4.c: 更复杂的例子: X11 程序. ex5.c: 使用标准 glibc 版本的 'hello world'。 # 完整文档 请阅读 tcc-doc.html 来了解完整功能。 关于 Windows 平台版本的更多信息,请参考 tcc-win32.txt。 # 许可证 TCC 是基于 LGPL 协议发布的。(请阅读 COPYING 文件)。 Fabrice Bellard(作者).