2 7 Go交叉編譯

2022-05-15 14:52:44 字數 844 閱讀 4964

golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式,最近使用了一下,非常好用,這裡備忘一下。

mac 下編譯 linux 和 windows 64位可執行程式

cgo_enabled=0 goos=linux goarch=amd64 go build main.go

cgo_enabled=0 goos=windows goarch=amd64 go build main.go

linux 下編譯 mac 和 windows 64位可執行程式

cgo_enabled=0 goos=darwin goarch=amd64 go build main.go

cgo_enabled=0 goos=windows goarch=amd64 go build main.go

windows 下編譯 mac 和 linux 64位可執行程式

set cgo_enabled=0

set goos=darwin

set goarch=amd64

go build main.go

set cgo_enabled=0

set goos=linux

set goarch=amd64

go build main.go

goos:目標平台的作業系統(darwin、freebsd、linux、windows) goarch:目標平台的體系架構(386、amd64、arm) 交叉編譯不支援 cgo

27 Go語言標準庫之strconv

go語言中strconv包實現了基本資料型別和其字串表示的相互轉換。更多函式請檢視官方文件。這一組函式是平時程式設計中用的最多的。atoi 函式用於將字串型別的整數轉換為int型別,函式簽名如下 func atoi s string i int err error 如果傳入的字串引數無法轉換為int...

go交叉編譯

指定叉編譯目標 goarch 目標平台 編譯後的目標平台 的處理器架構 386 amd64 arm goos 目標平台 編譯後的目標平台 的作業系統 darwin freebsd linux windows 一 windows 下編譯linux 64位可執行程式 set cgo enabled 0 ...

Go交叉編譯

使用go語言做了乙個微服務,微服務中的乙個功能,需要呼叫底層so。該微服務執行於arm64架構,系統為aarch64 gnu linux。因此需要交叉編譯。第一步 編寫編譯指令碼,指令碼中需要設定環境變數 go build v 第二步 調整gcc編譯環境。如下圖中5項,預設用於編譯和鏈結的工具。位於...