MinGW - 为什么C'你好世界'可执行文件42kb?

时间:2016-11-19 13:33:09

标签: c windows gcc tcc

如果我使用MinGW编译C hello world,则生成的exe为42Kb。如果我使用Tiny C Compiler,我会得到2Kb的东西。 (在两种情况下都没有指定任何选项或做任何有趣的事情,只需gcc hello.c -o hello.exe)

现在我知道需要最少的启动代码;但是mingw放在那里的额外40kb的东西是什么,它做了什么,为什么需要呢?

1 个答案:

答案 0 :(得分:-1)

来自the FAQ

  

调试信息

     

可执行文件大于的最常见原因   预计它们包含调试信息,即   使用" -g"编译源文件时生成的GCC的选择权。   即使您自己的源文件是在没有调试的情况下编译的   信息,与您的可执行文件链接的库可能已经   使用" -g"编译(可能包括系统库   与MinGW一起分发。

     

要从可执行文件中排除调试信息,只需使用   "带材"命令删除它,或者使用" -s"选项   链接时。

     

UPX(针对可执行文件的Ultimate Packer)

     

UPX是一种可以减少的工具   可执行文件的大小,使用非常快速和非常高效的就地   压缩/解压缩。它适用于Windows和Linux可执行文件   并且可以免费用于所有应用程序(包括商业应用程序)。