ITPub博客

首页 > 应用开发 > > golang编译更小体积的可执行应用程序

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

作者:u_151d1ef45539 时间:2019-10-21 10:27:11 0 删除 编辑

前言

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.

参考:https://golang.org/cmd/link/

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

UPX压缩

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

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

https://github.com/upx/upx

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

upx gosense.exe

总结

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927053/viewspace-3162374/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    155
  • 访问量
    256