MinGW:没有调试信息怎么链接?

MinGW: How to link without debugging information?

提问人:Martin Rosenau 提问时间:11/15/2023 更新时间:11/18/2023 访问量:13

问:

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

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

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

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

大约 170 K 被带有调试信息的部分占用,尽管我在没有调试信息 (-g0) 的情况下编译了我的项目。

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

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

明格

评论


答:

0赞 Brecht Sanders 11/18/2023 #1

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