debian9 上如何压缩go 1.11编译出来的可执行文件

karl_zhao · 2018-12-21 11:17:21 · 1084 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-12-21 11:17:21 的主题,其中的信息可能已经有所发展或是发生改变。

各位大牛,请教一下,在debian9上面利用goland基于go 1.11开发的工程,添加“-w -s”之后,编译出来的binary文件竟然有200多M。

请问有什么好方法能把这个执行文件编译输出变成50M以内???

谢谢 !


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1084 次点击  
加入收藏 微博
4 回复  |  直到 2018-12-22 19:12:37
victorl
victorl · #1 · 6年之前

200M得多大的工程啊???你整个项目*.go源代码有多大?

axcom
axcom · #2 · 6年之前

upx

moryaden
moryaden · #3 · 6年之前

才疏学浅,-w -s 是个啥参数? 貌似没在go build 文档里面看到

chenph
chenph · #4 · 6年之前

2楼说的upx就可以,试了一下,效果明显

  • go build xx.go
    -rwxrwxr-x 1 user user 29M Dec 22 19:06 server
    
  • go build -ldflags "-s -w" xx.go (-w 去除debug信息,-s 去除符号表)
    -rwxrwxr-x 1 user user 15M Dec 22 19:08 server
    
  • upx server
    -rwxrwxr-x 1 user user 4.3M Dec 22 19:09 server
    
    下载地址:https://github.com/upx/upx/releases/tag/v3.95
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传