溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Go語言的交叉編譯介紹

發(fā)布時(shí)間:2020-05-23 14:43:40 來源:億速云 閱讀:261 作者:鴿子 欄目:編程語言

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)境變量。

三、簡述交叉編譯

Go語言的交叉編譯介紹

其實(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)編譯

Go語言的交叉編譯介紹

當(dāng)前是使用默認(rèn)配置編譯了一個(gè)Windows平臺(tái)下的exe可執(zhí)行文件,同樣我們設(shè)置GOOS和GOARCH后再編譯看看。

2.交叉編譯一個(gè)Arm+Linux

Go語言的交叉編譯介紹

在Windows PowerShell中SET 命令似乎無效,有時(shí)間再詳查什么原因,所以這一步用了CMD。
設(shè)置完后同樣再運(yùn)行g(shù)o bulid即可,就可以得到一個(gè)無后綴的linux可執(zhí)行文件。

Go語言的交叉編譯介紹

以上就是Golang交叉編譯簡述的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(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)容。

AI