加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang如何让编译生产的二进制文件变小

发布时间:2020-12-16 18:58:27 所属栏目:大数据 来源:网络整理
导读:把Go程序变小的办法是: go build -ldflags "-s -w" (go install类似) -s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了, 这个等价于普通C/C++程序被strip的效果), -w去掉DWARF调试信息,得到的程序就不能用gdb调试了。 比如,serve
把Go程序变小的办法是:
go build -ldflags "-s -w" (go install类似)
-s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了,
这个等价于普通C/C++程序被strip的效果),
-w去掉DWARF调试信息,得到的程序就不能用gdb调试了。

比如,server.go是一个简单的http server,用了net/http包。
$ go build server.go
$ ls -l server
-rwxr-xr-x 1 minux staff 45070042012-10-25 14:16 server
$ go build -ldflags "-s -w" server.go
$ ls -l server
-rwxr-xr-x 1 minux staff 28399322012-10-25 14:16 server

-s和-w也可以分开使用,一般来说如果不打算用gdb调试,-w基本没啥损失。
-s的损失就有点大了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读