记录go是如何编译的
如何编译及运行修改后的源代码
1.下载GO源码
2.进入到go源码的go/src文件夹
3.运行./make.bash
4.设置GOROOT环境变量,指向上面源码的文件夹路径。(为了不影响其他生产项目,建议使用IDE,设置目录自己的GOROOT路径)
GoLand设置GOROOT
运行效果
如何查看编译器编译器把代码源代码变异成汇编语言的过程?
1.命令go build -gcflags -S panictest.go 可以将源代码编译称汇编代码。
- 命令GOSSAFUNC=main go build panictest.go 会在目录下生成ssa.html文件。打开可以看看汇编代码优化的每一个步骤。
汇编代码优化
编译过程
编译核心过程
1.词法分析(编译器前端)
2.语法分析(编译器前端)
3.类型检查(编译器前端)
4.中间代码生成,即SSA(编译器前端)
5.代码优化(编译器前端)
6.机器码生成及优化(编译器后端,在src/cmd/compile/internal 目录中有不同CPU指令集的编译代码)