Go程序如何编译
Go程序如何编译
1 |
|
go build -n
编译过程
词法分析
- 将源码翻译成Token
- Token是代码中最小的语义结构
句法分析
Token序列经过处理,变成语法树(SST)
语义分析
- 类型检查
- 类型推断
- 查看类型是否匹配
- 函数调用内联
- 逃逸分析
中间码生成
- 为了处理不同平台的差异,先生成中间代码(SSA)
- 查看从代码到SSA中间码的整个过程
1 |
|
机器码生成
生成Plan9汇编代码
最后编译为机器码
输出的机器码为.a文件
查看Plan9汇编代码
1
go build -gcflags -S main.go
链接
- 将各个包进行链接,包括runtime
Go程序如何编译
http://example.com/2022/12/17/Go程序如何编译/