Golang二进制文件可移植吗?
假设我主要是Linux用户,但是我正在Go中开发一个我希望成为跨平台的应用程序。我到处搜寻,但似乎找不到能满足以下条件的信息:
- 如果我
go install
在amd64 Ubuntu系统上使用二进制文件,那么它也可以在 其他任何人的 64位Ubuntu / Debian系统上运行吗? - 我如何使用它
go install
来构建一个x86_64二进制文件,该二进制文件也将在32位Debianlikes上开箱即用? - 如果必须使用Windows制作可以在Windows上运行的二进制文件,那么即使我的Windows系统是64位,我如何还能确保为x86_64构建可执行文件?
我的问题实际上归结为:“连接器/编译器的静态/便携性如何?”
回答:
- 是的,它会的; 这基本上适用于所有为64位Linux编译的二进制文件,而不仅仅是用Go编写的二进制文件(共享库除外,Go不依赖于此)
- 您可以设置
GOOS
和GOARCH
建设前的环境变量:GOOS=windows GOARCH=386 go build
(或go install
或其他)等 - 默认情况下,将为您正在运行的系统构建一个二进制文件,但这不是必需的-参见2
以上是 Golang二进制文件可移植吗? 的全部内容, 来源链接: utcz.com/qa/403971.html