使用 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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: