把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 4507004 2012-10-25 14:16 server $ go build -ldflags "-s -w" server.go $ ls -l server -rwxr-xr-x 1 minux staff 2839932 2012-10-25 14:16 server -s和-w也可以分开使用,一般来说如果不打算用gdb调试,-w基本没啥损失。 -s的损失就有点大了。 |