2 回答
TA贡献2051条经验 获得超10个赞
供参考
Go 编译器支持以下指令集:
amd64, 386
x86 指令集,64 位和 32 位。
arm64,手臂
ARM 指令集,64 位 (AArch64) 和 32 位。
mips64, mips64le, mips, mipsle
MIPS 指令集,大端和小端,64 位和 32 位。
ppc64, ppc64le
64 位 PowerPC 指令集,大端和小端。
RISCV64
64 位 RISC-V 指令集。
s390x
IBM z/架构。
瓦斯姆
(来自:简介| 从源代码安装 Go | Doc @ golang.org)
此外,您还可以go tool dist list
检查可在您的机器中构建的可用架构。
$ go tool dist list
aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/amd64
darwin/arm64
dragonfly/amd64
freebsd/386
(* snip *)
为 macOS (Intel/ARM64) 构建静态二进制文件如下。以这种方式,我认为GOOS="darwin" GOARCH="arm64"组合将用于M1建筑。
MyVar="foo"
CGO_ENABLED=0 \
GOOS="darwin" \
GOARCH="amd64" \
GOARM="" \
go build \
-ldflags="-s -w -extldflags \"-static\" -X 'main.myVar=${MyVar}'" \
-o="/path/to/export/bin/myApp" \
"/path/to/main.go"
要在 ARM v6 上编译 Linux,例如 RaspberryPi Zero W,组合如下。
$ CGO_ENABLED=0 GOOS="linux" GOARCH="arm" GOARM="6" go build .
- 2 回答
- 0 关注
- 232 浏览
添加回答
举报