假设我主要是 Linux 用户,但我正在用 Go 开发一个我想要跨平台的应用程序。我四处搜索,但似乎找不到可以免除以下内容的信息:如果我go install在 amd64 Ubuntu 系统上使用二进制文件,它是否也适用于其他人的64 位 Ubuntu/Debian 系统?我怎样才能go install构建一个 x86_64 二进制文件,它也可以在 32 位 Debianlikes 上开箱即用?如果我必须使用 Windows 来制作一个可以在 Windows 上运行的二进制文件,我如何才能确保即使我的 Windows 系统是 64 位的,也可以为 x86_64 构建可执行文件?我的问题实际上归结为“go 的链接器/编译器的静态/便携性如何?”
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
是的,它会; 基本上所有为 64 位 Linux 编译的二进制文件都是如此,而不仅仅是那些用 Go 编写的(除了共享库,Go 不依赖)
您可以设置
GOOS
和GOARCH
建设前的环境变量:GOOS=windows GOARCH=386 go build
(或go install
或其他)等默认情况下,将为您正在运行的系统构建一个二进制文件,但这不是必需的 - 请参阅 2
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报
0/150
提交
取消