Golang 二进制文件是否可移植?

假设我主要是 Linux 用户,但我正在用 Go 开发一个我想要跨平台的应用程序。我四处搜索,但似乎找不到可以免除以下内容的信息:

  1. 如果我go install在 amd64 Ubuntu 系统上使用二进制文件,它是否也适用于其他人的64 位 Ubuntu/Debian 系统?

  2. 我怎样才能go install构建一个 x86_64 二进制文件,它也可以在 32 位 Debianlikes 上开箱即用?

  3. 如果我必须使用 Windows 来制作一个可以在 Windows 上运行的二进制文件,我如何才能确保即使我的 Windows 系统是 64 位的,也可以为 x86_64 构建可执行文件?

我的问题实际上归结为“go 的链接器/编译器的静态/便携性如何?”


泛舟湖上清波郎朗
浏览 155回答 1
1回答

隔江千里

是的,它会; 基本上所有为 64 位 Linux 编译的二进制文件都是如此,而不仅仅是那些用 Go 编写的(除了共享库,Go 不依赖)您可以设置GOOS和GOARCH建设前的环境变量:GOOS=windows GOARCH=386 go build(或go install或其他)等默认情况下,将为您正在运行的系统构建一个二进制文件,但这不是必需的 - 请参阅 2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go