【发布时间】:2015-08-24 15:40:35
【问题描述】:
我试图了解 golang 的垃圾收集器在编译 golang 代码时是如何工作的,我猜想在使用 go run 时也是如此。我认为 go run 更直接一些,它只运行垃圾收集器以及您正在运行的 .go 文件。但是当编译成可执行文件时,垃圾收集器是否也被编译到二进制文件中?
【问题讨论】:
-
go run的工作方式没有区别,只是它会为您编译、运行和清理二进制文件。 -
所以你是说 go run 编译它,运行它删除二进制文件?所以对于我的主要问题,垃圾收集器是否编译成二进制文件?
-
如果它没有被编译成二进制文件,它怎么会有垃圾收集器? (或至少在运行时链接,尽管目前不可用)垃圾收集器不能真正作为单独的进程运行。
-
我从来没有说过另一个进程,只是并发运行,所以一个线程。
-
线程需要从代码中生成,因此需要以某种方式将其编译成二进制文件。
标签: go compilation garbage-collection