c – 加载程序如何将DLL映射到进程地址空间

c – 加载程序如何将DLL映射到进程地址空间,第1张

概述我很想知道Loader如何将DLL映射到处理地址空间.装载机如何做到这一点.举例非常受欢迎. 提前致谢. 你在寻找什么样的细节?在基本层面上,所有动态链接器的工作方式几乎相同: >动态库被编译为可重定位代码(例如,使用相对跳转而不是绝对跳转).>链接器在应用程序的内存映射中找到适当大小的空白空间,并将DLL的代码和任何静态数据读入该空间.>动态库包含每个导出函数开头的偏移表,并且在加载时对客户端程 我很想知道Loader如何将DLL映射到处理地址空间.装载机如何做到这一点.举例非常受欢迎.

提前致谢.

解决方法 你在寻找什么样的细节?在基本层面上,所有动态链接器的工作方式几乎相同:

>动态库被编译为可重定位代码(例如,使用相对跳转而不是绝对跳转).>链接器在应用程序的内存映射中找到适当大小的空白空间,并将DLL的代码和任何静态数据读入该空间.>动态库包含每个导出函数开头的偏移表,并且在加载时对客户端程序中DLL函数的调用使用新的目标地址进行修补,具体取决于库的加载位置.>大多数动态链接器系统都有一些系统,用于为特定库设置首选基址.如果在其首选地址加载库,则可以跳过步骤2和3中的重定位.

总结

以上是内存溢出为你收集整理的c – 加载程序如何将DLL映射到进程地址空间全部内容,希望文章能够帮你解决c – 加载程序如何将DLL映射到进程地址空间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存