golang可执行文件瘦身(缩小文件大小)

原由

golang部署起来极其遍历,但有时候但愿对可执行文件进行瘦身(缩小文件大小)git

尝试

  1. 状况容许状况下,交叉编译为32位
  2. 删除没必要要的符号表、调试信息
  3. 尝试用对应平台的upx打压缩壳

解决

通过屡次尝试,肯定以下步骤效果最好(以windows 10下环境为例)github

目标

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}

步骤

  1. 修改GO环境变量为 win32(可选)GOARCH=386``GOOS=windows
  2. 编译无符号表和调试信息的可执行文件 go build -ldflags "-s -w"
  3. 调用upx压缩 .\upx.exe -9 .\HiGo.exe

结果

处理前:64位=>1.97M 32位=>1.75M
处理后:64位=> 504K 32位=>479Kgolang

相关文章
相关标签/搜索