【发布时间】:2015-09-17 18:24:28
【问题描述】:
我搜索了有关构建紧凑 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 文件会占用大量空间。好吧,我知道空间很便宜,所以我可以忍受。不过,我相信澄清这件事会对很多人有所帮助。
【问题讨论】:
-
不确定 SE 是否适合讨论这么多问题。也许 Go 邮件列表会更合适。
-
我很高兴听到有关编译器开关或编译指示的信息,特别是如果它们没有很好的文档记录。
-
阅读:Reason for huge size of compiled executable of Go。 Go 可执行文件很大,因为它包含一个支持 gc 和运行时反射的运行时。 Fortran exe 不向您提供(或与 Go 相当的级别)。不用担心,运行时只添加一次,如果您的代码增长,它将不会与输出的大小成线性关系。
-
@icza,非常感谢。很高兴听到这不是线性增长。
标签: go