您好,登錄后才能下訂單哦!
Golang支持交叉編譯,在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)的可執(zhí)行程序。本教程為大家介紹golang的交叉編譯。
一、何為交叉編譯
簡單地說,就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。
二、交叉編譯前的準(zhǔn)備
本文只介紹Windows平臺(tái)下的Golang交叉編譯
安裝TDM-GCC
下載地址:http://tdm-gcc.tdragon.net/download
安裝完成后添加TDM-GCC中bin文件夾進(jìn)環(huán)境變量。
三、簡述交叉編譯
其實(shí)保存上面一幅圖即可,需記住三個(gè)參數(shù),GOOS(Go的目標(biāo)系統(tǒng)),GOARCH(GO的目標(biāo)架構(gòu))。
設(shè)置完成后通過go env查看當(dāng)前配置。
注意:在不同的命令提示符(CMD)中或關(guān)閉重新打開命令提示符,所設(shè)置的GOOS和GOARCH是不互通的。也就是可以把GOOS和GOARCH理解為局部變量,不會(huì)保存。Golang默認(rèn)每次build的都是當(dāng)前系統(tǒng)和架構(gòu)。
四、實(shí)練
1. 默認(rèn)編譯
當(dāng)前是使用默認(rèn)配置編譯了一個(gè)Windows平臺(tái)下的exe可執(zhí)行文件,同樣我們設(shè)置GOOS和GOARCH后再編譯看看。
2.交叉編譯一個(gè)Arm+Linux
在Windows PowerShell中SET 命令似乎無效,有時(shí)間再詳查什么原因,所以這一步用了CMD。
設(shè)置完后同樣再運(yùn)行g(shù)o bulid即可,就可以得到一個(gè)無后綴的linux可執(zhí)行文件。
以上就是Golang交叉編譯簡述的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。