Golang支援交叉編譯,在一個平台上產生另一個平台的可執行程式。本教學為大家介紹golang的交叉編譯。
一、何為交叉編譯
#簡單地說,就是在一個平台上產生另一個平台上的可執行程式碼。同一個體系結構可以運作不同的作業系統;同樣,同一個作業系統也可以在不同的體系結構上運作。
二、交叉編譯前的準備
本文只介紹Windows平台下的Golang交叉編譯
安裝TDM-GCC
下載網址:http://tdm-gcc.tdragon.net/download
安裝完成後加入TDM-GCC中bin資料夾進環境變數。
三、簡述交叉編譯
其實保存上面一幅圖即可,需記住三個參數,GOOS(Go的目標系統) ,GOARCH(GO的目標架構)。
設定完成後透過go env查看目前設定。
注意:在不同的命令提示字元(CMD)或關閉重新開啟命令提示符,所設定的GOOS和GOARCH是不互通的。也就是可以把GOOS和GOARCH理解為局部變量,不會保存。 Golang預設每次build的都是目前系統和架構。
四、實練
1.預設編譯
目前是使用預設設定編譯了一個Windows平台下的exe執行文件,同樣我們設定GOOS和GOARCH後再編譯看看。
2.交叉編譯一個Arm Linux
#在Windows PowerShell中SET 指令似乎無效,有時間再詳查什麼原因,所以這一步用了CMD。
設定完後同樣再運行go bulid即可,就可以得到一個無後綴的linux可執行檔。
更多golang知識請關注PHP中文網golang教程欄位。
以上是Golang交叉編譯簡述的詳細內容。更多資訊請關注PHP中文網其他相關文章!