入口函数和初始化

在 Linux 中 fd(File Descriptor), Windows 中 handle,为操作系统层面对文件操作的对象

fd:0 1 2 为输入、输出(IO 的顺序),errout,程序中通过进程的“打开文件表”从 3 开始计数文件对象,这个表在内核中


入口函数、依赖的函数、各种标准库的函数的实现的代码集合称为 运行时库 (Runtime Library),C 语言的运行库称为 C 运行库(CRT)

变长参数

非局部跳转

glibc 启动文件

-nostartfile-nostdlib 可以取消默认的启动文件和 C 语言运行库

可以用 __attribute__((section(".init"))) 将函数放在 .init 段,不过不能够让编译器产生 ret 否则 _init 函数会提前返回