網站首頁 編程語言 正文
一、何為交叉編譯
簡單地說,就是在一個平臺上生成另一個平臺上的可執行代碼。同一個體系結構可以運行不同的操作系統;同樣,同一個操作系統也可以在不同的體系結構上運行。
二、交叉編譯前的準備
本文只介紹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可執行文件。
小總結
記住3句代碼,及其支持的系統。這個在第三節已經給出。
SET GOOS=xxxSET GOARCH=xxxgo env
原文鏈接:https://blog.csdn.net/hx7013/article/details/91489642
相關推薦
- 2022-05-26 ASP.NET?Core依賴注入詳解_實用技巧
- 2023-05-30 Pandas中DataFrame對象轉置(交換行列)_python
- 2023-01-02 C++?命名空間?using聲明使用示例詳解_C 語言
- 2022-05-03 基于R語言?數據檢驗詳解_R語言
- 2022-05-29 C#對XmlHelper幫助類操作Xml文檔的通用方法匯總_C#教程
- 2022-08-15 使用element中el-table設置type=“expand“展開行隱藏小箭頭的方法(列表單選、
- 2022-08-02 Shell判斷字符串變量是否為空的方法實現_linux shell
- 2023-12-12 SSM整合 spring-mybaits配置文件——設置數據庫字段名駝峰命名規則
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支