多个LoadLibrary用于同一DLL的副本

时间:2016-08-03 08:55:12

标签: c winapi dll loadlibrary

我有一个不是线程安全的DLL,必须由多个线程使用。我不确定Windows如何检测加载的DLL-s,无论是完整文件路径还是DLL /模块名称。如果使用文件路径,我认为可以将DLL复制到每个线程的单独文件中,例如MyLib1.dllMyLib2.dllMyLib3.dll并加载LoadLibrary

1 个答案:

答案 0 :(得分:2)

只要在调用LoadLibrary时使用完整的绝对文件名,并且只要这些绝对文件名不同,就可以加载多个实例。

就个人而言,如果是我,我会创建线程,然后将DLL复制到命名为<threadID>.dll的临时文件夹中。这将保证名称的独特性。