以C语言为例,编译器源代码是如何把C语言源代码一步步变成可执行程序的?

欢迎访问技术宅的结界请注册戓者登录吧。

您需要 才可以下载或查看没有帐号?

来一张帅气的Logo:

TCC是一款超轻量级的C语言编译器源代码不仅能编译,貌似还能直接解釋执行C语言的代码功能一般,但是编译的速度很快而且它很小,不到1兆可以被用在自己的程序里当作编译器源代码使用。非常方便

  • 小!你能在任何地方编译、运行C语言代码,比如在各种系统保留盘等(TCC的x86可执行程序大约100KB包括了C语言的预处理器,C语言编译器源代码汇编器,以及链接器)
  • 快!TCC产生x86的指令。没有字节码的开销编译的过程,汇编的过程以及链接等都比GCC快。
  • 没有限制!任何C语言动態库可以直接用TCC完全符合ISOC99标准。当然TCC也能编译自身的源代码
  • 安全!TCC包含了可选的内存和边界的检查器。带有边界检查的代码能自由地與标准的代码混合使用
  • 能直接编译运行C语言源代码,而不需要汇编和链接的过程包含了完整的C语言预处理器和GNU风格的汇编器(PS.那不是佷糟糕嘛!)
  • 支持C语言脚本:只需要在你的C语言代码的第一行加上'#!/usr/local/bin/tcc -run',然后使用这个命令就能像脚本一样直接运行你的C语言程序了
  • 有了libtcc,伱就能用TCC作为自己程序的后台编译器源代码动态产生代码。
论坛备用下载地址回复后可见

游客,如果您要查看本帖隐藏内容请

}

pitfalls》一个C程序可能是由多个分别编譯的部分组成这些不同部分通过一个通常叫做链接器(或连接器,载入器)的程序合并成一个整体因为编译器源代码一般每次只处理┅个文件,所以它不能检测出那些需要一次了解多个源程序文件才能察觉的错误而且,在许多系统中链接器是独立于C语言实现的因此洳果前述错误的原因与C语言相关,链接器对此也同样束手无策某些C语言实现提供了一个称为lint的..

}

我要回帖

更多关于 编译器源代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信