减小golang编译出的二进制文件大小
go build编译出的文件都很大,一个hello world就要2m,我们可以在编译时加上如下参数:
go build -ldflags "-s -w" [filename]
‘-s’ 相当于strip掉符号表, 但是以后就没办法在gdb里查看行号和文件了。
‘-w’ flag to the linker to omit the debug information 告知连接器放弃所有debug信息
这样下来文件可以达到1m左右,如果还是嫌大,可以使用gccgo
gccgo -o [filename] [filename.go]
gccgo编译出的就跟c/c++可执行文件差不多了,20-30k左右,不过我有点怀疑这种文件拿到别的机器上还能不能跑,没做实验。
Update:已做实验,不能跑,会提示缺少libgo
Update #2: gccgo ... -static-libgo后生成文件高达4m,鸽了鸽了
发表于 2018-07-18 15:21:00 并被添加「」标签,阅读量: 1090 。
此处评论已关闭