【发布时间】:2012-09-13 20:18:40
【问题描述】:
我想加载相同的 dll,例如Lib.dll 多次!
-> 需要为每个 LoadLibrary 创建一个新进程(CreateProcess 函数)!
任何人有一个例子或一些提示?!
谢谢和问候
【问题讨论】:
-
为什么要多次加载同一个DLL?
-
为什么要多次加载它?您不能在同一进程中多次加载它。您可以创建多个进程,并且在“逻辑意义上”,它将为每个进程加载一次。请注意,在“物理”意义上,它可能仍会加载一次,因为操作系统将尝试加载一次并在所有进程中重用相同的内存(当然,只有只读部分,如代码和静态不可变数据,任何可变的东西都必然是特定于过程的)。
-
dll本身加载另一个dll;但这取决于要加载的调用参数。所以我需要多个实例!
-
@AnalogFile 我知道。这就是为什么我写了如何使用 CreateProcess(超过 1 个进程)来实现这一点!
-
@leon22:那么你应该重新考虑架构,可能使用“会话”系统或使用 COM 对象。
标签: c++ winapi dll process loadlibrary