阅读更多

0顶
0踩

开源软件

转载新闻 Go 1.5 计划启动,使用 Go 来编译 Go

2015-01-09 11:22 by 正式编辑 cao345657340 评论(0) 有5330人浏览
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 的计划变化请看这里。



相关链接
Go 的详细介绍:请点这里
Go 的下载地址:请点这里
来自: 开源社区
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • qt.go:针对Go(Golang)的Qt绑定旨在再次提高Go的编译速度

    Qt.Go使用FFI而不是使用常见的绑定和繁重的C ++包装代码来迫使您一次又一次地编译和链接,而是使用FFI,因此仅存在运行时依赖性。 产品特点 没有CGO编译成本的绑定代码 流行的Qt5软件包(小部件/ QML /附加)支持 ...

  • [GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进步。这系列文章入门部分将参考“尚硅谷...

  • 使用 go语言 golang 编译 dll 给易语言使用支持多线程-易语言

    使用 go语言 golang 编译 dll 给易语言使用支持多线程-易语言

  • go-recognizer:使用golang进行人脸检测和识别

    使用golang进行人脸检测和识别要求go-recognizer需要使用go-face进行编译。 go-face需要安装dlib(> = 19.10)和libjpeg开发软件包。 有关安装的详细信息,请参见文档。用法要在Go代码中使用go-recognizer,请执行...

  • Go语言实践[回顾]教程03--Go语言的编译与运行的命令行

    与常见的PHP、Python、JavaScript等动态语言不同,Go语言的源代码与C语言...理解相关命令,可以在脱离IDE情况下编译和和运行源代码,更能理解Go语言的编译机理,真正理解Go语言的优势特点,以及为优化打下必要的基础。

  • spluggy:go的编译时插件-Golang开发

    spluggy:go的编译时插件Go将代码组织为插件有很多好处,Go为它们提供了出色的支持。 需要注意的是(在依赖地狱旁边)您失去了Go的出色的单二进制优势。 spluggy使您两全其美:静态插件。 您可以将插件定义为同一...

  • Golang(二):使用Go语言创建并运行一个万年Hello World、Go语言编码规范

    一、Hello World 1、创建项目 GoLand下:new—》project—》... Output directory:用来设置编译后生成的可执行文件的存放目录,目录为空时不会生成可执行文件; Working directory:用来设置程序的运行目录,可以与

  • 100天精通Golang(基础入门篇)——第1天:学习Go语言基本概念

    100天精通Golang(基础入门篇)——第1天:学习Go语言基本概念,欢迎来到100天精通Golang的基础入门篇!在这个系列教程中,我们将带领你逐步掌握Go语言的核心概念和语法。本篇博文将着重介绍Go语言的基本概念,包括...

  • go语言中文教程及手册.pdf

    go语言中文教程及手册. Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新ᓆ的类型系统允许构建有ᧄ性的模块化程序。Go编译...

  • golang笔记17--编译调试go源码

    在 fmt.print.go 中新增 PrintlnXG 函数,如下重新编译生成 bin/go 二进制文件;")执行后,成功输出 hello PrintlnXG, add by xg 了,如下图。

  • go 语言源码编译

    go语言官网提到go1.4版本是用c实现工具链的最新版,这也是其它go源码编译代码需要这个go1.4版本的原因。 mkdir bootstrap #其中bootstrap目录与前面下载go代码生成的goroot目录是平级的,当然读者可以自己定义 cd ...

  • go语言终端交叉编译的事项windows编译其它平台软件包

    一、交叉编译环境问题解决这个可以修改,成cmd的方式,但是后期再gobuild编译的时候容易出错我是在windows10上采用交叉编译的办法,编译linux下的程序包括x64,i386也就是64位和32位的程序,使用默认的golang的终端...

  • Golang交叉编译

    交叉编译 简介         交叉编译是指在一个平台编译另一个平台的代码,如:Windows上面编译Linux平台的代码。         通常情况...

  • go-udev:Golang中简单的udev实现

    编译 go build用法 ./go-udev -<mode> [-file=]允许的模式: info或monitor文件应包含匹配器规则(请参阅:“高级用法”部分)信息模式爬网/ sys / devices uevent结构以检测插入的设备: ./go-udev -info监控模式...

  • go-torch:Golang的LibTorch(PyTorch)绑定

    库也可以用于直接从Go编译TorchScript应用程序。 正在安装 $ go get github.com/orktes/go-torch 用法 go-torch取决于LibTorch共享库的可用性。 有关更多信息,请参阅 。 这也是用于执行库测试的示例 。 import ( ...

  • high-performance-go:使用golang进行高性能编码(Go语言高级编程,Go语言陷阱,Gotchas,陷阱)

    语言高级编程 订阅 最新动态可以关注:知乎或微博 方式:观看 ,每篇文章都能收到邮件通知,或通过。 目录 序言 第一章性能分析 第二章常用数据结构 第三章并发编程 ...附录Go语言陷阱 基础入门 进阶系列

  • GO语言的交叉编译

    go语言在不同架构系统中的编译,交叉编译

  • 大家一起学Golang——Go语言简介与安装

    大家一起学Golang ——Go语言简介与安装 go语言简介 Go语言是有google公司推出的一门编程语言,是开源,静态编程语言,语法简洁,天生支持并发。 2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,又来...

  • 为什么劝你要学习Golang以及GO语言(Go语言知识普及)

    为什么劝你要学习Golang以及GO语言

  • go语言静态库的编译和使用

    go语言静态库的编译和使用

Global site tag (gtag.js) - Google Analytics