Description
《Premature Abstraction》编译器系列第九部分,讲汇编器、链接器和加载器如何收尾编译流水线:从目标文件、符号表、重定位,到静态库、共享库、动态链接器,以及 PLT、GOT 和 ASLR,说明源码如何变成可运行进程。最后回答标题问题:真正入口 _start 会经 C 运行时调用 main,并处理它的返回值。
----------------------------------------------------------------
00:00:00 引言
00:00:31 汇编器
00:01:21 广告:Master.dev
00:01:21 目标文件段
00:02:30 链接器
00:03:44 静态库与动态库
00:05:14 加载器
00:07:03 谁调用了 main()?
00:07:40 结束了吗?
----------------------------------------------------------------
原标题:Who calls main(), and who gets its return value?
原作者:Premature Abstraction
发布日期:2026-09-21
视频链接:https://www.youtube.com/watch?v=y1SGTYh1_Xs
Comments
main函数其实是编译器封装过的
♥ 18
照这速度,这个系列第62集就该讲怎么把CPU原理图刻到硅片上了
♥ 19 ↩ 2
_start调用main
♥ 10 ↩ 1
编译器的运行库拿它的返回值。在main函数下断看调用堆栈。
♥ 7
crt0
♥ 1
7:06
♥ 3
我最喜欢的C程序: main【-1ull】={1};
♥ 1
诶,谁把我叫来看这个视频的?
up主好高产