开发者社区> 大喵Schnitzel> 正文

老年人编程系列-go的编译顺序

简介: 根据官方文档https://golang.org/doc/install/source编译go源码需要$ cd src$ ./all.bash 拨拉开src/all.bash文件可以看到如下步骤 加载make.
+关注继续查看

根据官方文档https://golang.org/doc/install/source
编译go源码需要
$ cd src
$ ./all.bash

拨拉开src/all.bash文件可以看到如下步骤

  1. 加载make.bash的内容
  2. 执行run.bash
  3. 执行dist banner命令

make.bash编译/cmd/dist,
run.bash使用dist编译exec go tool dist test -rebuild "$@"
非常神奇的是,对于1.5之前的版本,dist是用C写的,编译的顺序

  1. gcc编译dist,
  2. dist编译go
    但是在1.5之后的版本,dist也是用GO写的,所以编译的顺序是
  3. gcc编译dist
  4. dist编译工具链
  5. dist重编自己
  6. dist编译go
  7. go编译其他包和命令

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MFC程序的消息处理顺序
MFC应用程序中处理消息的顺序 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc()  该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.
717 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28480 0
第4章 最简单的C程序设计——顺序程序设计
      声明:文中观点仅代表个人,其中文字、图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.
494 0
java 中线程执行顺序控制
[java] view plain copy   Thread t1 = new Thread(new Runnable() {          @Override       public void run() {           System.
440 0
数据结构例程——串的顺序存储应用
  本文针对数据结构基础系列网络课程(4):串中第3课时串的顺序存储应用。 例1:串比较 问题: 设计实现串比较运算的算法 算法思路 (1)比较s和t两个串共同长度范围内的对应字符: ① 若s的字符>t的字符,返回1; ② 若s的字符<t的字符,返回-1; ③ 若s的字符=t的字符,按上述规则继续比较。 (2)当(1)中对应字符均
1022 0
C++语言基础 例程 调用构造函数和析构函数的顺序
贺老师的教学链接  本课讲解 析构函数应用实例方案1 const int N =500; class Salary { public: Salary(int); void input( ); void show( ); ~Salary(); private: double salarys[N]; int number; //实际人数 }; 方案
792 0
JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
<h1 style="text-align:center">Java流程控制语句</h1> <p><br></p> <p>本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析。</p> <p><br></p> <h2>1、顺序语句</h2> <p><br> 顺序结构中的语句可分为:<em><strong>表达式语句</st
2361 0
4
文章
29
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载