Rah*_*hul 0 compilation go
我最近安装了go并尝试了hello world示例.
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
$ go build hello.go
返回大小为1.2Mb的hello二进制文件.这对于一个你好的世界计划来说相对来说是巨大的.有什么特别的原因,为什么文件大小?是因为导入"fmt"吗?
Nic*_*ood 5
这是Go常见问题解答
为什么我的琐碎程序如此大的二进制文件?
gc工具链(5l,6l和8l)中的接头进行静态连接.因此,所有Go二进制文件都包括Go运行时,以及支持动态类型检查,反射甚至恐慌时间堆栈跟踪所需的运行时类型信息. 在Linux上使用gcc静态编译和链接的简单C"hello,world"程序大约为750 kB,包括printf的实现.使用fmt.Printf的等效Go程序大约为1.2 MB,但这包括更强大的运行时支持.
gc工具链(5l,6l和8l)中的接头进行静态连接.因此,所有Go二进制文件都包括Go运行时,以及支持动态类型检查,反射甚至恐慌时间堆栈跟踪所需的运行时类型信息.
在Linux上使用gcc静态编译和链接的简单C"hello,world"程序大约为750 kB,包括printf的实现.使用fmt.Printf的等效Go程序大约为1.2 MB,但这包括更强大的运行时支持.
归档时间:
12 年,11 月 前
查看次数:
458 次
最近记录: