购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.4 跨平台交叉编译

Go语言支持跨平台交叉编译,可通过go build加选项的方式实现。

在macOS中的语法如下。

//编译Linux可执行二进制文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go` 
//编译Windows可执行二进制文件
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

在Linux系统中的语法如下。

//编译macOS可执行二进制文件
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
//编译Windows可执行二进制文件
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

在Windows系统中的语法如下。

//编译macOS可执行二进制文件
SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go
//编译Linux可执行二进制文件
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go

上述文件中涉及的交叉编译参数的含义如下。

● CGO_ENABLED:是否使用cgo编译。0为不使用,1为使用。

● GOOS:目标操作系统的标识。

● GOARCH:目标可执行程序的操作系统架构。arm表示ARM架构,amd64表示64位架构。

注意: 虽然可以在Go语言中直接编写C语言代码,但编译器必须支持C语言才行。换句话说,编译环境中也需要安装C编译器。 wEF/lTAxW+N41ssGkQHMGRguFKjq85rqmooNH0s9VPwAgYUpcDJqNT9n5bIlkFcK

点击中间区域
呼出菜单
上一章
目录
下一章
×