可执行文件加载与已加载的dll相同的dll

时间:2014-01-26 14:26:35

标签: windows dll executable

我即将开始对我的项目进行重大修改,我只是想澄清一些事情,因为我认为我的设计可能有些复杂。

我有一个加载dll的可执行文件,让我们调用这个dll1,然后加载dll2。 可执行文件也加载了dll2。

我要问的是,我有两个dll2的全局和静态成员变量实例,dll2的第二次加载是否发生,或者只有dll2加载1才能执行,即使dll2被另一个dll加载了? / p>

我知道我应该在内存中只有一份dll2的代码,这很好。这是我感兴趣的全局和静态变量。

2 个答案:

答案 0 :(得分:1)

每个进程只能加载一个特定DLL的实例。

答案 1 :(得分:1)

您当然可以加载同一DLL的不同实例,这种做法并不常见,但在技术上是可行的。试试Process Explorer。请参阅下面的快照。

enter image description here