Golang交叉編譯(跨平臺編譯)的使用
一、何為交叉編譯
簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。同一個體系結(jié)構(gòu)可以運行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運行。
二、交叉編譯前的準備
本文只介紹Windows平臺下的Golang交叉編譯
安裝TDM-GCC
下載地址:http://tdm-gcc.tdragon.net/download
安裝完成后添加TDM-GCC中bin文件夾進環(huán)境變量。
三、簡述交叉編譯

其實保存上面一幅圖即可,需記住三個參數(shù),GOOS(Go的目標系統(tǒng)),GOARCH(GO的目標架構(gòu))。
設置完成后通過go env查看當前配置。
注意:在不同的命令提示符(CMD)中或關閉重新打開命令提示符,所設置的GOOS和GOARCH是不互通的。也就是可以把GOOS和GOARCH理解為局部變量,不會保存。Golang默認每次build的都是當前系統(tǒng)和架構(gòu)。
四、實練
1. 默認編譯

當前是使用默認配置編譯了一個Windows平臺下的exe可執(zhí)行文件,同樣我們設置GOOS和GOARCH后再編譯看看。
2.交叉編譯一個Arm+Linux

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

小總結(jié)
記住3句代碼,及其支持的系統(tǒng)。這個在第三節(jié)已經(jīng)給出。
SET GOOS=xxxSET GOARCH=xxxgo env
到此這篇關于Golang交叉編譯(跨平臺編譯)的使用的文章就介紹到這了,更多相關Golang 交叉編譯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
golang中http請求的context傳遞到異步任務的坑及解決
這篇文章主要介紹了golang中http請求的context傳遞到異步任務的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
Golang使用DuckDB查詢Parquet文件數(shù)據(jù)的操作代碼
本文介紹DuckDB查詢Parquet文件的典型應用場景,掌握DuckDB會讓你的產(chǎn)品分析能力更強,相反系統(tǒng)運營成本相對較低,為了示例完整,我也提供了如何使用Python導出MongoDB數(shù)據(jù),需要的朋友可以參考下2025-01-01

