• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go交叉编译

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前言

什么是交叉编译?

交叉编译指在某个平台编译另一平台能使用的文件

本文列出交叉编译的命令, 全程干货, 不多BB

正文

本文参考官方文档

https://golang.google.cn/doc/install/source#introduction
https://golang.google.cn/doc/install/source#environment

一条基本的编译命令结构如下(mac/linux)

GOOS=linux GOARCH=amd64 go build main.go

windows版比较特殊(目的一致,只是win加set)

set GOOS=linux
set GOARCH=amd64
go build main.go

这个命令有两个参数(main.go不做解释了)

GOOS --> GO,OS 生成文件执行的平台

GOPACH --> GO,PACH 平台的架构

以上这条命令就是生成在amd64架构的linux上的可执行文件

注意的是, 如果你是在同等架构和系统上编译,例如在linux上编译linux的文件,则什么都不用带,go会自己判断

GOOS和GOARCH都有多个选项,可组合,对照如下

$GOOS $GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin amd64
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
illumos amd64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
linux riscv64
linux s390x
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
openbsd arm64
plan9 386
plan9 amd64
plan9 arm
solaris amd64
windows 386
windows amd64

当然,有些架构编译可能会出现错误,因为对他的支持还不完善,具体请看最上方的官方文档


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
idea连接mysql报错Server returns invalid timezone. Go to ‘Advanced‘ tab and set ...发布时间:2022-07-10
下一篇:
Go标准库--net/http学习发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap