老年人编程系列-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编译其他包和命令
相关文章
|
4天前
|
Go 数据处理 调度
Go语言中的并发模型:解锁高效并行编程的秘诀
本文将探讨Go语言中独特的并发模型及其在现代软件开发中的应用。通过深入分析 Goroutines 和 Channels,我们将揭示这一模型如何简化并行编程,提升应用性能,并改变开发者处理并发任务的方式。不同于传统多线程编程,Go的并发方法以其简洁性和高效性脱颖而出,为开发者提供了一种全新的编程范式。
|
7天前
|
并行计算 算法 搜索推荐
探索Go语言的高并发编程与性能优化
【10月更文挑战第10天】探索Go语言的高并发编程与性能优化
|
1月前
|
存储 缓存 Go
go语言编程系列(五)
go语言编程系列(五)
|
1月前
|
搜索推荐 Java 编译器
go语言编程系列(四)
go语言编程系列(四)
|
1月前
|
存储 JSON 安全
go语言编程系列(七)
go语言编程系列(七)
|
1月前
|
存储 安全 编译器
go语言编程系列(六)
go语言编程系列(六)
|
1月前
|
自然语言处理 Java 测试技术
go语言编程系列(二)
go语言编程系列(二)
|
1月前
|
编译器 Go
go语言编程系列(三)
go语言编程系列(三)
|
1月前
|
安全 Java Go
Go语言编程系列(一)
Go语言编程系列(一)
|
1月前
|
Kubernetes Go Docker
在K8s编程中如何使用Go
一文带你了解在K8s编程中如何使用Go
52 3