MinGW:如何在没有调试信息的情况下链接?

问题描述 投票:0回答:1

我刚刚再次编译了一些现有程序(Windows 32 位),并对文件大小感到震惊:

EXE 文件的文件大小,编译为...

  • ...GCC 4.5.0:34.431 字节
  • ...GCC 10.2.0:259.648 字节

调查问题,发现GCC 10.2.0生成的EXE文件包含很多无用的部分:

虽然我编译的项目没有调试信息(-g0),但大约 170 K 被带有调试信息的部分占用。

如何使用 MinGW 构建项目而不让所有这些无用数据破坏生成的 EXE 文件?

编写自己的链接器脚本是唯一的可能性吗?

mingw
1个回答
0
投票

除了使用

-g0
之外,您还应该通过与
-s
标志链接或在二进制文件上运行
strip
命令来剥离二进制文件(.exe 和 .dll 文件)。

© www.soinside.com 2019 - 2024. All rights reserved.