我可以设置GOARCHGOOS值的任何组合来构建ELF 32位二进制文​​件吗?

最佳答案

GOOS=linuxGOARCH=386

更多示例:体系结构:

32-bit -> GOARCH=386
64-bit -> GOARCH=amd64

作业系统:
Windows -> GOOS=windows
Linux   -> GOOS=linux
OS X    -> GOOS=darwin
FreeBSD -> GOOS=freebsd

有关完整列表(有效的“单个”值),请引用 go/build/syslist.go 文件:
const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows "
const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc s390 s390x sparc sparc64 "

请注意,以上列表是一个不断增长的列表,不再删除不再受支持的平台(因为该列表用于go/build文件名匹配)。

对于当前列表,所有受支持的平台(GOOS/GOARCH组合),请使用以下命令:
go tool dist list
GOOS + GOARCH(source)的有效组合:
$GOOS   $GOARCH
darwin  386
darwin  amd64
darwin  arm
darwin  arm64
dragonfly   amd64
freebsd 386
freebsd amd64
freebsd arm
linux   386
linux   amd64
linux   arm
linux   arm64
linux   ppc64
linux   ppc64le
linux   mips64
linux   mips64le
netbsd  386
netbsd  amd64
netbsd  arm
openbsd 386
openbsd amd64
openbsd arm
plan9   386
plan9   amd64
solaris amd64
windows 386
windows amd64

07-26 03:59