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

Golang 可执行文件大小

Golang 可执行文件大小

Go
交互式爱情 2021-11-08 15:57:46
我搜索了有关构建紧凑 Go 可执行文件的最新信息,但没有成功。大多数信息似乎已有数年历史。我的程序:在 Rosettacode.org 上找到的标准 hello world。使用 Fortran,我得到一个 100 KB 以下的 exe 文件。使用 Go 时,exe 文件高达 2400 KB。我的问题:是否有我应该使用的编译器开关或编译指示?是否还有其他我不知道的工具或技巧(我是 Go 的初学者)。Go 在可执行文件大小方面的未来计划是什么?在 Linux 下它是什么样的 - 同样的事情?大型程序上的 exe 文件会发生什么?背景:我正在使用安装在 Windows 7 上的 go 1.5。我的项目正在编写(实际上是从其他语言迁移)一些命令行程序。拥有 20 个或更多大型 Go exe 文件会占用大量空间。好吧,我知道空间很便宜,所以我可以忍受它。不过,我相信澄清此事会对很多人有所帮助。
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

要减小可执行文件的大小,您可以使用以下方法之一指示链接器去除调试符号:

go install -ldflags '-s'
go install -ldflags '-s -w'

我在一个相当大的可执行文件(GXUI示例之一)上尝试了它,这将它从 ~16M 减少到 ~10M。将 -w 添加到 -s 没有任何区别,但与往常一样,您的里程可能会有所不同......

是所有链接器选项的完整列表。


查看完整回答
反对 回复 2021-11-08
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

Go 程序很大,因为它包含垃圾收集代码、goroutine 调度代码以及几乎所有静态链接的库。设计如此。



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

添加回答

举报

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