首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从dll加载dll?

从dll加载dll?
EN

Stack Overflow用户
提问于 2010-04-20 19:44:20
回答 3查看 15.6K关注 0票数 8

从dll加载dll的最佳方法是什么?

我的问题是我不能在process_attach上加载动态链接库,也不能从主程序加载动态链接库,因为我不能控制主程序的源代码。因此我也不能调用非dllmain函数。

EN

回答 3

Stack Overflow用户

发布于 2010-04-20 22:51:00

最健壮的方法是将第一个DLL链接到第二个DLL的导入库。这样,第二个DLL的实际加载将由Windows本身完成。听起来非常微不足道,但并不是每个人都知道DLL可以链接到其他DLL。Windows甚至可以处理循环依赖关系。如果A.DLL加载需要A.DLL的B.DLL,则解析B.DLL中的导入,而无需再次加载A.DLL。

票数 13
EN

Stack Overflow用户

发布于 2010-04-21 16:36:01

我建议你使用延迟加载机制。DLL将在您第一次调用导入的函数时加载。此外,您还可以修改加载函数和错误处理。有关详细信息,请参阅Linker Support for Delay-Loaded DLLs

票数 5
EN

Stack Overflow用户

发布于 2010-04-20 20:01:38

一种可能的答案是通过使用LoadLibrary和GetProcAddress来访问指向已加载的dll中找到/定位的函数的指针-但是您的意图/需求还不够清楚,无法确定这是否是合适的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2674736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档