我刚刚再次编译了一些现有程序(Windows 32 位),并对文件大小感到震惊:
EXE 文件的文件大小,编译为...
调查问题,发现GCC 10.2.0生成的EXE文件包含很多无用的部分:
虽然我编译的项目没有调试信息(-g0),但大约 170 K 被带有调试信息的部分占用。
如何使用 MinGW 构建项目而不让所有这些无用数据破坏生成的 EXE 文件?
编写自己的链接器脚本是唯一的可能性吗?
除了使用
-g0
之外,您还应该通过与 -s
标志链接或在二进制文件上运行 strip
命令来剥离二进制文件(.exe 和 .dll 文件)。