Go 1.5 计划启动,使用 Go 来编译 Go

oschina
 oschina
发布于 2015年01月09日
收藏 30

Go 项目组发布了 Go 1.5 的计划,Go 1.5 将使用 Go 1.4 进行构建,Go 源码树将完全消除所有 C 的代码。移除 C 编译器 (5c,6c,8c,9c)。剩下的 C 程序将转成 Go 语言,包括 Go compilers (golang.org/s/go13compiler), 汇编器和连接器 (golang.org/s/go13linker) 以及 cmd/dist. 如果这些程序都采用 Go 编写,这会引发一个在完整构建源码的启动问题 —— 你需要一个可用的 Go 工具链来构建 Go 工具链。

为了构建 Go 1.x (x ≥ 5),需要先安装 Go 1.4 到 $GOROOT_BOOTSTRAP. 默认的 $GOROOT_BOOTSTRAP 是 $HOME/go1.4. 我们使用 Go 1.4 作为启动的基础版本来编译工具链。

我们先来看看构建 Go 1.4 是怎么样的:

  1. 使用 gcc 或者 clang 构建 cmd/dist .

  2. 使用 dist、build 编译器工具链(gcc 或者 clang)

  3. NOP

  4. 使用 dist 构建 cmd/go (as go_bootstrap)

  5. 使用 go_bootstrap 构建其他的标准库和命令

而 Go 1.x (x ≥ 5) 的构建将变成:

  1. 使用 Go 1.4 构建 cmd/dist

  2. 使用 dist 构建编译器工具链

  3. 使用 dist 重新构建编译器工具链

  4. 使用 dist 构建 cmd/go (go_bootstrap)

  5. 使用 go_bootstrap 构建其他标准库和命令

更多关于 Go 1.5 的计划变化请看这里


本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Go 1.5 计划启动,使用 Go 来编译 Go
加载中

最新评论(87

MewX
MewX
用VS2013编译VS201541
asdfsx
asdfsx
另外关于golang的泛型~~~10个说golang不好的帖子里有9个说没有泛型。对于泛型,之前看过一篇帖子好像是rob pike写的,说对于泛型现在没有找到太好的实现办法......找不到地址了,仿佛是在google-dev的群组里边
xiaolei123
xiaolei123
跟Java一样。、
steamer
steamer
你如果想要学好递归,必须先学好递归
李东亮
李东亮

引用来自“GoodLoser”的评论

鸡生鸡,蛋生蛋?
借鸡生蛋,然后蛋生鸡,鸡生蛋
L5_Railgun
L5_Railgun
我来补个刀,Rust的语法设计可谓是极其丑陋,而且其所谓的box manage内存模型,我也是醉了。
他还集成了各路优秀的特性……神马 协程,channel,闭包,OOP,巴拉巴拉一大堆,全部整上去再说
我就想问,这真的是官方所宣传的 better c++ ? c++很搓不就是10个人有9个人会吐槽他的臃肿么

golang的GC……几乎所有带GC的语言都这副尿性。

归根结底,骚年们,还是老老实实用C写代码吧……
hellogirl
hellogirl
这气息,等Rust一出正式版,Go估计要懵了。。。
返回顶部
顶部