golang部署起来极其遍历,但有时候希望对可执行文件进行瘦身(缩小文件大小)
- 情况允许情况下,交叉编译为32位
- 删除不必要的符号表、调试信息
- 尝试用对应平台的upx打压缩壳
经过多次尝试,确定如下步骤效果最好(以windows 10下环境为例)
package main import ( "fmt" ) func main() { fmt.Println("Hello World!") }
- 修改GO环境变量为 win32(可选)
GOROOT=c:\go GOARCH=386 GOOS=windows
- 编译无符号表和调试信息的可执行文件
go build -ldflags "-s -w"
- 调用upx压缩
.\upx.exe -9 .\HiGo.exe
处理前:64位=>1.97M 32位=>1.75M
处理后:64位=> 504K 32位=>479K
来源:博客园
作者:wuyaSama
链接:https://www.cnblogs.com/wuyaSama/p/11535382.html