微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows/C++/DLL:加载 DLL 后,函数指针偏移量从内存中的 DLL 基地址是否始终相同?

如何解决Windows/C++/DLL:加载 DLL 后,函数指针偏移量从内存中的 DLL 基地址是否始终相同?

假设我编译了一个带有静态非成员导出函数的 DLL。

然后在另一个应用程序中,我使用 LoadLibrary 加载 DLL。

然后,我从内存中DLL的基地址找到导出函数的偏移量(基地址减去函数指针)。

如果我再次加载库(在同一台机器上,或另一台机器上,或在不同版本的 Windows 上,或在 VM 中,等等)我可以可靠地期望计算具有 [baseAddress + 先前计算的偏移量] 的相同函数的地址?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。