使用 UPX 来压缩 Go 的可执行文件

通常使用 go 构建的可执行文件有点大,但总是希望生成一个较小的可执行文件。 在这篇文章中,将介绍几种减小可执行文件大小的方法。 最终效果是可执行文件的大小将比正常生成的小得多。

通常构建的文件具有以下大小。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:47 AM        1974272 main-ori.exe

添加构建标志

使用 go 工具构建项目时可以添加两个 ld 参数,它们是 -s 和 -w

go build -ldflags="-s -w" main.go

-s:省略符号表和调试信息。 大多数情况下,在生产环境中不需要它们。

-w: 省略 DWARF 消息。

这两个参数不会影响程序的执行,但它会减少可执行文件的大小。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:48 AM        1427968 main-flag.exe

UPX 压缩

upx 是一个二进制压缩工具。它可用于压缩二进制文件和进一步减少文件大小。

压缩文件的命令是:

upx main.exe

压缩后,文件大小变小了很多。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:52 AM         495616 main.exe

快乐编码。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://www.pixelstech.net/article/15762...

译文地址:https://learnku.com/go/t/63386

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 1

DWARF就是调试信息

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!