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
以避免移植過程中出現(xiàn)的不必要問題。
到此這篇關于golang
交叉編譯詳細的文章就介紹到這了,更多相關golang
交叉編譯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
golang使用sync.singleflight解決熱點緩存穿透問題
在go的sync包中,有一個singleflight包,里面有一個?singleflight.go文件,代碼加注釋,一共200行出頭,通過?singleflight可以很容易實現(xiàn)緩存和去重的效果,避免重復計算,接下來我們就給大家詳細介紹一下sync.singleflight如何解決熱點緩存穿透問題2023-07-07Go語言編程通過dwarf獲取內聯(lián)函數(shù)
這篇文章主要為大家介紹了Go語言編程通過dwarf獲取內聯(lián)函數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11Go/C語言LeetCode題解997找到小鎮(zhèn)法官
這篇文章主要為大家介紹了Go語言LeetCode題解997找到小鎮(zhèn)的法官示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12Go語言同步等待組sync.WaitGroup結構體對象方法詳解
這篇文章主要為大家介紹了Go語言同步等待組sync.WaitGroup結構體對象方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08