我的A.DLL取决于B.DLL。 A.DLL包含一些初始化代码(DllMain
),它用B.DLL注册东西。
我还有可执行的E.EXE,它不直接引用任何A.DLL符号,但它通过从B.DLL获得的通用接口使用A.DLL的东西。
问题是A.DLL永远不会加载到E.EXE的进程中,因为它的导出符号都不是E.EXE的导入。
我是否可以强制将A.DLL加载到进程中而不在E.EXE中实际引用A.DLL的符号,并且不反转A.DLL和B.DLL之间的依赖关系(或创建依赖关系循环),并且不使用明确的LoadLibrary()
电话?
编辑:问题已在Windows上使用Visual Studio生成,但可移植性是一个问题,因此LoadLibrary()
不可用。