go 打包到不同平台windows linux运行程序 压缩程序体积
生活随笔
收集整理的這篇文章主要介紹了
go 打包到不同平台windows linux运行程序 压缩程序体积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自:https://studygolang.com/articles/16579
?
1、Mac下編譯Linux, Windows平臺的64位可執行程序:
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go2、Linux下編譯Mac, Windows平臺的64位可執行程序:
$ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go3、Windows下編譯Mac, Linux平臺的64位可執行程序:
$ SET CGO_ENABLED=0SET GOOS=darwin3 SET GOARCH=amd64 go build test.go $ SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build test.go注:如果編譯web等工程項目,直接cd到工程目錄下直接執行以上命令
GOOS:目標可執行程序運行操作系統,支持 darwin,freebsd,linux,windows
GOARCH:目標可執行程序操作系統構架,包括 386,amd64,arm
?
轉自:https://www.jianshu.com/p/cd3c766b893c
壓縮可執行文件
-
首先加上編譯參數-ldflags
$ go build -ldflags '-w -s' $ ls -lh -rwxr-xr-x 1 gangan staff 2.5M Aug 18 00:45 etcd-cli -rw-r--r-- 1 gangan staff 456B Aug 18 00:34 main.go可以發現小了近1MB
-
使用upx壓縮,Linux、Mac和Win都有,這里以Mac為例
$ brew install upx $ upx etcd-cli # 此處省略壓縮時的打印... $ ls -lh -rwxr-xr-x 1 gangan staff 897K Aug 18 00:49 etcd-cli -rw-r--r-- 1 gangan staff 456B Aug 18 00:34 main.goOK,可執行文件從3.4MB壓縮到了897K,效果還是很明顯的,有需要的趕緊試試吧。
?
總結
以上是生活随笔為你收集整理的go 打包到不同平台windows linux运行程序 压缩程序体积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Implementing the 3DV
- 下一篇: OpenCV之亮度、对比度详解