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

xuanbao · · 6839 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Go 项目组发布了 Go 1.5 的计划,Go 1.5 将使用 Go 1.4 进行构建,Go 源码树将完全消除所有 C 的代码。移除 C 编译器 (5c,6c,8c,9c)。剩下的 C 程序将转成 Go 语言,包括 [Go compilers](http://golang.org/s/go13compiler), [汇编器和连接器](http://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 的计划变化请看[这里](http://golang.org/s/go15bootstrap)。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6839 次点击  ∙  1 赞  
加入收藏 微博
2 回复  |  直到 2015-04-03 18:15:01
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传