为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
泛舟湖上清波郎朗 2021-11-22 18:40:42
假设我主要是 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个赞

  1. 是的,它会; 基本上所有为 64 位 Linux 编译的二进制文件都是如此,而不仅仅是那些用 Go 编写的(除了共享库,Go 不依赖)

  2. 您可以设置GOOSGOARCH建设前的环境变量:GOOS=windows GOARCH=386 go build(或go install或其他)等

  3. 默认情况下,将为您正在运行的系统构建一个二进制文件,但这不是必需的 - 请参阅 2


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信