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

Golang - 为什么在类似机器上编译会导致二进制文件大小显着不同?

Golang - 为什么在类似机器上编译会导致二进制文件大小显着不同?

Go
扬帆大鱼 2022-03-03 16:10:03
我有一个用 Golang 编写的基于 gorilla/mux 的 Web 服务。我观察到完全相同的代码在我的 Windows 10 Pro 机器上生成大小超过 10 MB 的二进制文件,而在我同事的 Windows 10 Pro 机器上生成大约 7 MB。在另一位同事的运行 OS X Yosemite 的 MacBook Pro 上,二进制文件的大小只有 11 MB 多一点。这个二进制文件实际上包含什么?!
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

这可能是由于不同的架构(GOARCHenv 变量)。运行go env验证。编译后的二进制文件到386和到amd64显着不同(编译到amd64明显更大),但如果架构与不同的操作系统相同,它应该是接近的。

Go 版本本身也很重要,Go 1.7 减少了编译后的二进制文件大小。有关详细信息,请参阅博客文章Smaller Go 1.7 二进制文件

我也认为它是相同的,但是是否排除调试信息可以显着减少编译的二进制大小。


查看完整回答
反对 回复 2022-03-03
  • 1 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号