golang交叉編譯詳細

1、環(huán)境變量對照表
golang交叉編譯環(huán)境變量對照表

GOOS | GOARCH | OS VERSION ---|---|--- linux | 386 / amd64 / arm | >= Linux 2.6 darwin | 386 / amd64 | OX X (Snow Leopard + Lion) freebsd | 386 / amd64 | >= FreeBSD 7 windows | 386 / amd64 | >= Windows 2000
2、使用
2.1 Windows
Windows 下編譯 Mac 64位可執(zhí)行程序
set CGO_ENABLED=0 set GOOS=darwin set GOARCH=amd64 go build main.go
Windows 下編譯 Linux 64位可執(zhí)行程序
set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64 go build main.go
2.2 linux
Linux 下編譯 Mac 64位可執(zhí)行程序
export CGO_ENABLED=0 export GOOS=darwin export GOARCH=amd64 go build main.go
Linux 下編譯 Windows 64位可執(zhí)行程序
export CGO_ENABLED=0 export GOOS=windows export GOARCH=amd64 go build main.go
2.3 Mac OS
Mac 下編譯 Windows 64位可執(zhí)行程序
export CGO_ENABLED=0 export GOOS=windows export GOARCH=amd64 go build main.go
Mac 下編譯 Linux 64位可執(zhí)行程序
export CGO_ENABLED=0 export GOOS=linux export GOARCH=amd64 go build main.go
3、備注
3.1 CGO_ENABLED解釋
默認情況下,Go的runtime環(huán)境變量CGO_ENABLED=1,即默認開始cgo,允許你在Go代碼中調用C代碼
如果標準庫中是在CGO_ENABLED=1情況下編譯的,那么編譯出來的最終二進制文件可能是動態(tài)鏈接,所以建議設置 CGO_ENABLED=0以避免移植過程中出現的不必要問題。
到此這篇關于golang交叉編譯詳細的文章就介紹到這了,更多相關golang交叉編譯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一文掌握Golang的panic和recover實戰(zhàn)
Go語言中,異常處理通常依賴error返回值,本文將通過示例展示如何在Go語言中正確使用recover來處理panic異常,防止程序直接崩潰,感興趣的朋友跟隨小編一起看看吧2024-09-09

