我有两个d& A& B和它们都将部署到不同的文件夹位置。
例如,
Dll A in C:\Users\PC\Desktop\Project
Dll B in C:\Users\PC\Desktop\Project\B Folder
如何加载dll B而不是使用LoadLibrary方法?
感谢。
答案 0 :(得分:2)
您不使用LoadLibrary
。您使用B的标头和.lib
编译DLL A并引用DLL B.然后让系统加载器解析依赖关系。更糟糕的是,您使用清单(SxS)来微调控制要在运行时加载的DLL。
LoadLibrray
仅当您需要执行runt-time功能开关时才应使用,当您需要仅在存在DLL且可能具有某个版本时才显示某种行为。一些许可方案可能需要动态加载,但几乎总是可以更好地解决。操作系统依赖关系(例如,在XP上运行一种方式,在Win7上运行另一种方式,以利用更新的操作系统功能)是LoadLibrary
的可接受用途。