2kb的exe文件:TinyCCompiler

每次我编译c语言文件时,都会不自主地比较c语言源文件和可执行程序的大小。但是现在的mingw编译器似乎都不太给力,一个简单的helloworld也要50kb起步,vs又装不起来。。我知道这些大多是头文件,但无可奈何,没它不能用。

我觉得年代早一点,存储设备紧张,编译器都会精打细算。但是,我淘到了远古版本的gcc,第一次测试,一点改进都没有,后来发现是老版的gcc入口文件去找新版的mingw编译。调整之后文件小多了。我感觉不错。

但是,我又找到了一个更小的编译器。

这东西叫做TinyCcompiler

下载链接在这icon-default.png?t=N7T8http://download.savannah.gnu.org/releases/tinycc/

官网在这icon-default.png?t=N7T8https://bellard.org/tcc/

一看,最老旧的比我年纪都大。

这么一编译,震惊到了,2kb。

介绍

据网络,似乎这个软件的作者是个大神,还出品过ffmpeg。但我无法考证。

这个tiny不但编译出的文件小,编译器本身也小,100k

这个压缩包最主要的是tcc.exe。

在介绍中说-run可以不编译直接执行c代码,但我没想到用处。

大体和gcc操作流程一样。

因为它就是个编译器,该有的都有,该没有的都没有(我指的是图形界面)

测试

代码如下

#include <stdio.h>
#include <math.h>

int main() {
    float term, result = 1;
    int n;
    for (n = 2; n <= 100; n += 2) {
        term = (float)(n * n) / ((n - 1) * (n + 1));
        result *= term;
    }
    printf("pi %f\n", 2 * result);
    return 0;
}

这个是一个使用级数法计算pi的程序,效果很差

但这不影响比较

新版gcc77,736B
老版gcc15,122B
Tcc1,536B

当然,均可运行。

我想测试大文件,但因为年代久远,标准什么的,始终找不到可以让两者同时正常运行的长代码。

TCC有点死脑筋,稍微有点不合规范,可不会帮你纠正,直接不让编译,gcc会稍微好一点

总结

对于需要控制文件大小的时候,TCC是一个很好的选择,但是因为制作出来比较早,不太适合大型项目的编译首选。不知什么时候就会有兼容性问题。

环境

win7,不要看到我用gcc就以为是Linux。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值