go编译执行文件

1、如果进行单个文件编译go build xxx.go

2、批文件编译

不实际编译它,只输出它的编译过程:

|---|-----------------|
| 1 | go build ``-n |

简单的编译过程分析:

上面的过程确认了两个事情:

  • Runtime会永远随着用户代码一起编译
  • 在windows平台上编译出来了一个exe的可执行文件

sources就是你的源代码,AST就是生成的语法树,genssa就是生成的与平台无关的中间码SSA,当然中间还有很多的其它步骤,这里不再列举,可以点击展开查看

机器码生成:

  • 先生成Plan9汇编代码(与平台相关)
  • 最后编译为机器码
  • 输出的机器码为.a文件

查看Plan9汇编代码

|---|--------------------------------------|
| 1 | go build ``-gcflags -S main.go |

链接:

  • 将各个包进行链接,包括runtime,最终生成可执行文件
相关推荐
临床数据科学和人工智能兴趣组1 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
andyweike4 小时前
php笔记
开发语言·笔记·php
EatFan4 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
Circ.5 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
波力海苔夹心脆6756 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
现任明教教主~6 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
JavaGuide6 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel7 小时前
prisma 如何处理数据库竞态
前端·数据库·后端
Zhou1411367 小时前
SpringSecurity_02_授权与高级功能
开发语言·python