哪个 C 编译器生成最小的本机 Windows 可执行文件?
最近我一直在使用 Windows API,尝试编写尽可能小的基于 GUI 的 Windows 程序。速度对我来说并不是什么大问题,我想要的是可执行文件的大小。
只是想知道哪个 C 编译器会生成最小的二进制文件,尤其是在没有任何技巧或对其进行太多干扰的情况下。
Lately I've been working with the Windows API, trying to write gui-based Windows programs that are as small as possible. Speed isn't really much of an issue for me, what I'm going for is the size of the executable.
Just wondering which C compiler will produce the smallest binaries, especially without any tricks or messing with it too much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 Windows 上对此没有太多经验,但是 Tiny C 编译器 确实生成了一些非常小的可执行文件。
我在一个基本的“Hello world”程序上对其进行了测试,exe 的大小为 1.5KB,约为 MinGW 可执行文件大小的 1/12。我没有用 Visual C++ 测试它(因为我没有它),但你明白了。它生成小型可执行文件。
I don't have much experience with this on Windows, but Tiny C Compiler does produce some very small executables.
I tested it on a basic "Hello world" program, and the size of the exe was 1.5KB, about 1/12 the size of the MinGW executable. I didn't test it with Visual C++ (because I don't have it), but you get the idea. It makes small executables.
查找可执行压缩(例如UPX)。这将使您比任何编译器走得更远,但代价是病毒扫描程序偶尔会出现误报。
Look up executable compression (e.g. UPX). That will get you a lot farther than any compiler, at the cost of occasional false positives from virus scanners.