免费看电视的网站有哪些,十佳网站设计,装修设计效果图下载,wordpress仿知乎社区目录 交叉编译参数说明CGO_ENABLEDGOOS : 目标操作系统【darwin、linux、windows】GOARCH #xff1a;目标架构【386、amd64、arm】 Mac 下编译#xff0c;Linux / Windows 下执行Linux 下编译#xff0c;Mac / Windows 下执行Windows 下编译#xff0c;Mac / Linux 下执行… 目录 交叉编译参数说明CGO_ENABLEDGOOS : 目标操作系统【darwin、linux、windows】GOARCH 目标架构【386、amd64、arm】 Mac 下编译Linux / Windows 下执行Linux 下编译Mac / Windows 下执行Windows 下编译Mac / Linux 下执行 Golang的交叉编译是指将Go程序从一个操作系统和架构编译为另一个操作系统和架构的过程。 也就是说我们可以在一个开发环境中编写代码然后可以为多个不同的目标平台生成可执行文件。
交叉编译
参数说明
CGO_ENABLED
CGO 表示golang中的工具CGO_ENABLED 表示CGO禁用交叉编译中不能使用CGO
GOOS : 目标操作系统【darwin、linux、windows】
macdarwinlinuxlinuxwindowswindows
GOARCH 目标架构【386、amd64、arm】
386也称 x86对应 32 位操作系统amd64也称 x64对应 64 位操作系统arm这种架构一般用于嵌入式开发。比如 Android、IOS、Win mobile、TIZEN 等
Mac 下编译Linux / Windows 下执行
# Linux 下执行
CGO_ENABLED0 GOOSlinux GOARCHamd64 go build main.go
# Windows 下执行
CGO_ENABLED0 GOOSwindows GOARCHamd64 go build main.goLinux 下编译Mac / Windows 下执行
# Mac 下执行
CGO_ENABLED0 GOOSdarwin GOARCHamd64 go build main.go
# Windows 下执行
CGO_ENABLED0 GOOSwindows GOARCHamd64 go build main.goWindows 下编译Mac / Linux 下执行
需要写一个批处理程序在里面去设置因为 Windows 下的 terminal 不支持shell
# Mac 下执行
SET CGO_ENABLED0
SET GOOSdarwin
SET GOARCHamd64
go build main.go# Linux 下执行
SET CGO_ENABLED0
SET GOOSlinux
SET GOARCHamd64
go build main.go