GCC和TCC编译TCC

本文档详细记录了在Windows环境下使用GCC和TCC编译TCC源码的过程及遇到的错误。首先,通过下载TCC源代码并尝试用GCC编译,但需确保所有必要的文件都在同一目录下。接着,尝试使用TCC自身来编译,但在缺少'config.h'的情况下失败。解决方法是将TCC安装文件的include目录复制到源码目录。通过创建批处理文件并运行,最终成功生成新的TCC编译器tc.exe。然而,使用新编译器编译测试程序时又遇到找不到stdio.h的问题,解决办法是将相关头文件复制到正确位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GCC和TCC编译TCC

找到TCC(tiny CC)的源码。用GCC编译tiny CC的源码
下载TCC源代码,(http://download.savannah.gnu.org/releases/tinyccdd;),下载源码:tcc-0.9.26.tar.bz2解压后就得到了TCC的源代码,其中tcc.c是主程序,我们需要对它进行编译运行。
在这里插入图片描述

1、GCC编译TCC

到源码解压目录找到tcc.c文件,将其复制到新的文件夹GccTcc中便于查看编译结果,在文件夹GccTcc下运行cmd(注意源文件复制不能遗漏tcc.c以外的其他文件)否则会报错。
在这里插入图片描述
在这里插入图片描述
需要在文件夹找到对应文件复制到tcc.c所在文件路径下。

2、TCC编译TCC

——————————————————————————————————————————(记录错误操作)
C语言是自己编译自己的,也就是说C语言的程序是用C语言写的,所以我们可以使用TCC来编译自己。在我们直接编译tcc.c之前,需要进行一些相关的设置:需要运行win32里面的bulid_tcc.dll。
到源码解压目录找到源文件,将其复制到新的文件夹TccTcc中便于查看编译结果,在文件夹TccTcc下运行cmd(注意源文件复制不能遗漏tcc.c以外的其他文件)
运行报错找不到’config.h;
在这里插入图片描述
在我们直接编译tcc.c之前,需要进行一些相关的设置:需要运行win32里面的bulid_tcc.dll。再次运行,任然未生成tcc.exe文件,未运行成功

在这里插入图片描述
需要在文件夹找到对应文件复制到tcc.c所在文件路径下。
——————————————————————————————————————(下面是正确操作)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(1) 分别下载好相同版本的 TCC 安装文件与 TCC 码源如图
在这里插入图片描述
(2)打开码源文件 tcc-0.9.26, 进入命令行采用 TCC 编译 TCC,直接编译出现上面任务报错如图
在这里插入图片描述
(3) 将 TCC 安装文件 tcc-0.9.26-win-32-bin 下的 include 文件复制到码源文件 tcc-0.9.25 下
再次编译,仍然报上图相同错误;
(4) 在 tcc-0.9.26 其中新建一个 bat 文件,代码如下图;
在这里插入图片描述
(5) 写好 bat 处理文件后双击运行,之后会生成一个 tc.exe 文件如下图,此程序即为采用TCC 编译 TCC 码源生成的新的编译器;
在这里插入图片描述
(6) 用新生成的 TC 编译器编译测试程序 HelloWorld2.c 报错找不到 stdio.h 文件如下图
在这里插入图片描述
(7) 解决方法是新建一个文件夹 tc,将下图所示文件复制到文件夹下,方框文件来自
tcc-0.9.26-win32-bin 目录下,圆圈文件 tcc-0.9.26 目录下;
在这里插入图片描述
(8) 再次用新生成的 TC 编译器编译测试程序 HelloWorld2.c 如图
在这里插入图片描述
(注意) 编译器和 tcc 源代码的版本要为同一种,不然会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值