把Go程序变小的办法

来源:互联网 发布:徐峥演的网络电影 编辑:程序博客网 时间:2024/04/29 23:37
go build -ldflags "-s -w"  (go install类似)

解释一下参数的意思:
-ldflags: 表示将后面的参数传给连接器(5/6/8l)
-s:去掉符号信息(然后panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果)
-w:去掉DWARF调试信息。得到的程序就不能用gdb调试了

如下demo.go
[AppleScript] 纯文本查看 复制代码
1
2
3
4
5
packagemain 
import("fmt") 
funcmain(){ 
    fmt.Print("hellow!") 
}

E:\go build demo.go //编译后为1163 K
E:\go build -ldflags "-s -w" demo.go//编译后为591K

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