Golang跨平台编译

使用Golang的交叉编译功能,可以在不同的操作系统上编译出对应的可执行文件。例如,在Mac上,通过设置CGO_ENABLED=0, GOOS=windows, GOARCH=amd64,可以生成能在Windows运行的程序。同样,这种技术也适用于Linux和Windows之间的编译。此方法对于开发者来说,提供了在本地环境构建远程平台应用的能力。
摘要由CSDN通过智能技术生成

跨平台编译(交叉编译)

默认go build的可执行文件都是当前操作系统可执行的文件,如果想在mac下编译windows下可执行文件,需要进行如下操作。
只需要指定目标操作系统的平台和处理器架构:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=windows  // 目标平台是windows
SET GOARCH=amd64  // 目标处理器架构是amd64

然后在执行go build命令,得到的就是能够在windows平台运行的可执行文件了
Mac下编译Linux和Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux下编译Mac和Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

Windows下编译Linux平台下64位可执行程序

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build

GO(Golang)GOOS and GOARCH

GOOS值列表

- aix
- android
- darwin
- dragonfly 
- freebsd
- hurd
- illumos
- js
- linux
- nacl
- netbsd
- openbsd
- plan9
- solaris
- windows
- zos

GOARCH值列表

- 386
- amd64
- amd64p32
- arm
- armbe
- arm64
- arm64be
- ppc64
- ppc64le
- mips
- mipsle
- mips64
- mips64le
- mips64p32
- mips64p32le
- ppc
- riscv
- riscv64
- s390
- s390x
- sparc
- sparc64
- wasm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值