设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

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

2015-1-9 15:24| 发布者: joejoe0332| 查看: 2104| 评论: 0|原作者: oschina|来自: oschina

摘要: 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), ...

  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 的计划变化请看这里



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部