谁调用 main(),又是谁拿到它的返回值? - Premature Abstraction - 中配

合集 · Premature Abstraction (4)

  1. 33:39
    编译器如何处理无限变量 - Premature Abstraction - 中配
  2. 16:32
    谁调用 main(),又是谁拿到它的返回值? - Premature Abstraction - 中配
  3. 17:13
    什么是过早抽象? - Premature Abstraction - 英语原声/中配
  4. 30:57
    编译器应该优化这个吗? - Premature Abstraction - 英语原声/中配

Parts

  1. P1 · 配音
  2. P2 · 原声
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

一手猫_ 4d ago

main函数其实是编译器封装过的

♥ 18

旁白_B 4d ago

照这速度,这个系列第62集就该讲怎么把CPU原理图刻到硅片上了

♥ 19 ↩ 2

夏至-微风 4d ago

_start调用main

♥ 10 ↩ 1

魔の女ちゃん 4d ago

编译器的运行库拿它的返回值。在main函数下断看调用堆栈。

♥ 7

黑嫖233 2d ago

crt0

♥ 1

大狗叫一段叮咚鸡 4d ago

7:06

♥ 3

旁白_B 4d ago

我最喜欢的C程序: main【-1ull】={1};

♥ 1

旁白_B 4d ago

诶,谁把我叫来看这个视频的?

忘呵梦回日 4d ago

up主好高产