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,最终生成可执行文件
相关推荐
DYS_房东的猫6 分钟前
《 C++ 零基础入门教程》第6章:模板与 STL 算法 —— 写一次,用万次
开发语言·c++·算法
诗意地回家13 分钟前
淘宝小游戏反编译
开发语言·前端·javascript
wangkay8820 分钟前
【Java 转运营】Day04:抖音新号起号前准备全指南
java·开发语言·新媒体运营
点云SLAM20 分钟前
C++ 静态初始化顺序问题(SIOF)和SLAM / ROS 工程实战问题
开发语言·c++·slam·静态初始化顺序问题·工程实战技术·c++static 关键字
D3bugRealm21 分钟前
MATLAB解决物理问题:从基础运动学到进阶力学的实战指南
开发语言·其他·matlab
JOEH6024 分钟前
🛡️ 微服务雪崩救星:Sentinel 限流熔断实战,3行代码搞定高可用!
后端·全栈
小李独爱秋24 分钟前
计算机网络经典问题透视:TLS协议工作过程全景解析
运维·服务器·开发语言·网络协议·计算机网络·php
aiopencode40 分钟前
iOS手动代码混淆函数和变量名基本原理和注意事项教程
后端
程序员威哥43 分钟前
YOLOv8用ConvMixer结构:简化Backbone,速度+20%,mAP仅降0.9%
后端
开心猴爷1 小时前
如何在苹果手机上面进行抓包?iOS代理抓包,数据流抓包
后端