你的位置:首页 > 软件开发 > 操作系统 > 了解动态链接(四)—— 延迟绑定

了解动态链接(四)—— 延迟绑定

发布时间:2015-06-22 00:00:15
基本思想是当函数第一次被调用时才进行绑定,所谓绑定就是符号查找和地址重定位。对于一些错误处理函数或不常用的功能函数,可能就避免了“绑定浪费”。采用延迟绑定,能加快程序的启动速度,特别有利于一些大型程序。当函数第一次被调用时,由动态链接器完成 ...

基本思想是当函数第一次被调用时才进行绑定,所谓绑定就是符号查找和地址重定位。对于一些错误处理函数或不常用的功能函数,可能就避免了“绑定浪费”。采用延迟绑定,能加快程序的启动速度,特别有利于一些大型程序。

当函数第一次被调用时,由动态链接器完成地址绑定工作。他必须知道地址绑定发生在哪个模块的哪个函数,并且要有一个完成绑定工作的函数。

具体实现时,调用某个外部函数要先跳转到 PLT,再跳转到 GOT 得到外部函数地址。每个外部函数都在 PLT 表中有一个相应的项。比如:

1 bar@plt:2  jmp *(bar@GOT)3  push n4  push moduleID5  jump _dl_runtime_resolve

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:了解动态链接(四)—— 延迟绑定

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录