Open supergem3000 opened 8 months ago
21. 可执行文件和加载 (jyywiki.cn) 可执行文件 一个操作系统中的对象(文件)、一个字节序列、一个描述状态机初始状态的数据结构。 加载最小可执行文件:直接把代码mmap到内存,跳转过去即可。 静态链接和加载 ELF Loader,解析数据结构,创建进程初始状态,跳转执行。 静态链接,编译时会把未连接、要跳转到内容地址填0,等链接器去填值。 动态链接和加载 拆解应用程序等需求,实现运行库和应用代码分离。 大型项目内部也可以分解,编译一部分,不用重新链接。
21. 可执行文件和加载 (jyywiki.cn)
一个操作系统中的对象(文件)、一个字节序列、一个描述状态机初始状态的数据结构。 加载最小可执行文件:直接把代码mmap到内存,跳转过去即可。
ELF Loader,解析数据结构,创建进程初始状态,跳转执行。 静态链接,编译时会把未连接、要跳转到内容地址填0,等链接器去填值。
拆解应用程序等需求,实现运行库和应用代码分离。 大型项目内部也可以分解,编译一部分,不用重新链接。