内核文件解读(Linux网络协议栈笔记)
发布时间
阅读量:
阅读量
内核文件结构解析
要明确 initcall_t 具体属于何种变量类型,有必要涉及 C 语言中一个相对冷门的知识点——可执行文件格式。唯有深入理解该类文件格式的结构与特性,方能准确把握 initcall_t 的实际含义与作用。
ELF文件格式解析
ELF 是*nix 系统中可执行文件的标准格式,它替代了早期的 out 格式,主要得益于其良好的可扩展性。ELF 格式的可执行文件可以包含多个 section。DWARF(Debugging With Attribute Record Format)是一个常见的术语,通常出现在 ELF 格式的可执行文件中。
ELF 文件存在三种不同的形式:
1. Relocatable:由编译器和汇编器生成,并由 linker 进行处理。
2. Executable:所有重定位和符号解析工作已完成,某些共享库的符号可能需要在运行时进行解析。
3. Shared Object:包含 linker 所需的符号信息以及运行时所需的代码。
ELF 文件具有双重属性:一方面,编译器、汇编器和连接器将其视为多个逻辑段(sections)的集合;另一方面,loader 则将其看作是多个段(segments)的集合。Section 主要用于 linker 的后续处理过程,而 segments 则会被映射到内存中。中文
全部评论 (0)
还没有任何评论哟~
