Golang的垃圾收集器在编译时如何工作?
发布时间:2020-12-16 09:28:10 所属栏目:大数据 来源:网络整理
导读:我正在尝试理解golang的垃圾收集器在编译golang代码时是如何工作的,我想在使用go run时也是如此.我认为运行更直接,只需运行垃圾收集器以及正在运行的.go文件.但是在编译成可执行文件时,垃圾收集器是否也编译成二进制文件? 解决方法 编译的目标文件不包含任
我正在尝试理解golang的垃圾收集器在编译golang代码时是如何工作的,我想在使用go run时也是如此.我认为运行更直接,只需运行垃圾收集器以及正在运行的.go文件.但是在编译成可执行文件时,垃圾收集器是否也编译成二进制文件?
解决方法
编译的目标文件不包含任何垃圾收集器“代码”.
当使用go run运行程序时,go命令将编译源代码,在temp文件夹中创建并启动可执行二进制文件.见下文. 当编译应用程序并将其链接到可执行二进制文件时,在运行二进制文件时加载的可执行文件中也包含一个go运行时.此运行时提供垃圾收集器以及其他服务,例如运行时反射和堆栈跟踪信息.这是简单的Hello World应用程序产生2 MB可执行二进制文件的主要原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |