2010-12-13 62 views
1

最近我一直在使用Windows API,试图编写尽可能小的基于gui的Windows程序。速度对我来说并不是什么大问题,我要做的是可执行文件的大小。哪个C编译器生成最小的本机Windows可执行文件?

只是想知道哪个C编译器会产生最小的二进制文件,特别是没有任何技巧或太多的混乱。

+0

这是不可能的,没有实际*建立你的程序*。每个程序都会有所不同。尝试一些编译器并找出答案。 – 2010-12-13 21:20:39

回答

3

我在Windows上没有太多的经验,但Tiny C Compiler确实会产生一些非常小的可执行文件。

我在一个基本的“Hello world”程序上测试过它,exe的大小是1.5KB,大约是MinGW可执行文件大小的1/12。我没有用Visual C++测试它(因为我没有它),但你明白了。它使小型可执行文件。

1

查找可执行文件压缩(例如UPX)。这会让你远远超过任何编译器,代价是偶尔会有病毒扫描器的误报。

+0

是的,我一直在使用UPX。我想知道天气还是不行,我可以通过切换到另一个编译器来进一步缩小可执行文件的大小。顺便说一下,我正在使用Visual Studio。 – 2010-12-13 21:27:19

+1

关于压缩的一点是,如果算法很好(而且UPX应该相当不错),那么受限于实际的信息,而不是输入的限制。在某一点上,你不能将n比特的信息塞入n-1比特。 – 2010-12-13 21:28:49

相关问题