在阅读 Go 源代码的过程,可以看到大量形如 //go:xxx 的注释,虽然很容易猜测到肯定是和编译相关的,但并不清晰,于是就想深入了解一下。 在日常编译可执行文件的过程中,我想大家使用最多的毫无疑问是 go build 。只需一行命令即可将庞大且复杂的项目源代码编译成可执行文件,Go 把复杂的编译过程设计的非常简单、友好。 但是其实 Go 和 C/C++ 一样,也分为 compile 和 link 两个过程,今天我们要讲的就是 compile 过程。 自举 Go 在 1.5 之前使用 C 实现编译器,在 1.5 实现了自举,也就是说 Go 的编译器是使用 Go 语言本身去实现的。 自举对编程语言来说是个里程碑,实现自举包括但不限于 …
阅读更多