前言
-
如果需要了解 动态加载,需要先了解需要动态加载的目标(对象):ELF 文件
-
ELF 文件用于 Linux、Unix等系统平台,与 Windows 上的 exe (PE)或者 DLL 文件格式不一样
ELF 简介
-
全称:Executable and Linking Format
-
中文:可执行和链接格式
-
ELF 文件格式是 Linux/Unix 通用的二进制标准文件格式
如何理解ELF文件格式标准
-
就是大家都在用的二进制文件格式。
-
你可以不用标准的 ELF 文件,自己去创造定义一种 二进制文件,但是需要同时创造相应的编译工具链,因为 GNU gcc 工具链生成的产物就是 ELF 文件格式
ELF 文件视图
-
ELF 生成过程,可以查看【链接视图】 Linking View
-
ELF 加载过程,可以查看【执行视图】Execution View,动态加载时,一般需要关注 Execution View,也就是关注段【Segment】