热更新demo

运行时加载 动态链接库提供的API 函数声明 /* Open the shared object FILE and map it in; return a handle that can be passed to `dlsym' to get symbol values from it. */ extern void *dlopen (const char *__file, int __mode) __THROWNL; /* Unmap and close a shared object opened by `dlopen'. The handle cannot be used again after calling `dlclose'. */ extern int dlclose (void *__handle) __THROWNL __nonnull ((1)); /* Find the run-time address in the shared object HANDLE refers to of the symbol called NAME....

May 31, 2022 · 3 min

ELF文件格式

ELF文件格式 建议下载下面这张图片,再对照下方的注释查阅。 [1]ELF文件类 Untitled Database [2]字节序 Untitled Database [3]文件类型 Untitled Database [4]机器类型 Untitled Database [5]段的类型 Untitled Database [6]段的标志位 Untitled Database [7]段的链接信息(sh_link&sh_info) 如果该段的类型与链接有关,则意义如下,否则无意义 Untitled Database [8]符号类型 Untitled Database [9]符号绑定信息 Untitled Database [10]符号所在段 如果符号定义在本目标文件中,那么这个成员表示符号所在的段在段表中的下标。 否则,如下表 Untitled Database [11]常见类型值 Untitled Database [12]重定位入口的偏移 Untitled Database 参考文献:《程序员的自我修养》

May 12, 2022 · 1 min