【发布时间】:2011-10-24 09:37:24
【问题描述】:
我想知道有没有办法显式加载 DLL 的多个实例(即使用 LoadLibrary 调用)。通常,当调用 LoadLibrary 时,进程仅加载一次 DLL(以便库的单个副本驻留在进程的内存中),并且为同一库完成的所有后续 LoadLibrary 调用将返回库的相同句柄,由第一次调用返回。更具体地说,我希望能够为进程内创建的每个线程加载一个单独的 DLL 实例。目前,如果我在每个线程中执行 LoadLibrary,我只会获得指向驻留在进程地址空间中的库的单个实例的相同指针,并且实际上所有线程都引用库中的相同函数(这里发生了很大的混乱在我的应用程序中)。相反,我希望每个线程在单独的内存空间中创建一个单独的库实例,以便线程在调用库中的函数时不会相互干扰。
【问题讨论】: