文章目录
一、可执行程序基本结构
二、GOT 全局偏移表
三、可执行程序函数调用步骤
一、可执行程序基本结构
----
程序加载到内存中之后 , 会分为以下
3
个部分 :
可执行程序
自定义函数库..., 还是要转为以上
3
部分才能执行 ;
二、GOT 全局偏移表
----
上述 可执行程序 , 自定义库 , 系统库 , 按照
3
者发生作用的机制 , 又可以进一步进行如下划分 :
可执行程序...可以 调用函数 , 这个被调用的函数 可以是 自定义库 中的函数 , 也可以是 系统库 中的函数 ;
此时就会存在一个 GOT 全局偏移表 , 当 可执行程序编译 时 , 并 不知道每个函数的具体位置...;
GOT 表是从全局加载的符号表 , 符号表中可能有值 , 也可能没有值 , 这是由动态库加载的参数决定的 , 函数调用时 , 该函数的地址值肯定是存在的 ;
三、可执行程序函数调用步骤
----...可执行程序函数调用步骤 :
① 函数调用 : 可执行程序 执行时 , 先调用函数 , 此时不知道 被调用的函数 地址 ;
② 根据 GOT 表跳转函数库 : 跳转到 GOT 表 , GOT 表会横跨