我有一个用Golang编写的基于gorilla / mux的Web服务。 我观察到完全相同的代码在我的Windows 10 Pro机器上生成大小超过10 MB的二进制文件,而在我的同事的Windows 10 Pro机器上生成大约7 MB的二进制文件。 在另一位运行OS X Yosemite的同事的MacBook Pro上,二进制文件的大小略大于11 MB。 这个二进制文件实际包含什么?!
答案 0 :(得分:4)
这可能是由于不同的架构(GOARCH
env变量)。运行go env
进行验证。编译后的二进制文件386
和amd64
显着不同(编译为amd64
明显更大),但如果体系结构与不同的操作系统相同,它应该是接近的。
Go版本本身也很重要,Go 1.7减少了编译的二进制文件大小。有关详细信息,请参阅博文Smaller Go 1.7 binaries。
此外,我认为它是相同的,但是是否排除调试信息可以显着减少编译的二进制文件大小。