七叶笔记 » golang编程 » golang编译更小体积的可执行应用程序

golang编译更小体积的可执行应用程序

前言

golang默认编译出来的 可执行文件 ,一般都很大。我们有没有办法编译出体积小一些的可执行文件呢?本文带领大家学习一下利用golang编译参数和 upx 来压缩编译出的可执行文件的尺寸,大概可以缩小25%-75%之间

golang编译参数调整

我们可以给golang编译时增减ld参数,参数为-s 和 -w

示例

“`golang

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

-s

Omit the symbol table and debug information.

-w

Omit the DWARF symbol table.

参考:

消减这两个参数,不会影响程序最终运行。但是可以大大减小尺寸。

UPX压缩

upx是一个二进制压缩工具,可以进一步帮助我们压缩编译出来的二进制尺寸。

可以从这个项目的 github 下载最新的upx

下载回来,可以执行 upx命令,压缩你的目标程序(例如:我的应用为gosense. exe )

upx gosense.exe
 

总结

你可以对比一下压缩前,压缩后的文件大小。我本地压缩效果,大概可以压缩50%左右。非常给力。

相关文章