【问题标题】:Executable loads same dll as already loaded dll可执行文件加载与已加载的 dll 相同的 dll
【发布时间】:2014-01-26 14:26:34
【问题描述】:

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

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

我要问的是我是否有 dll2 的全局和静态成员变量的两个实例,是否会发生 dll2 的第二次加载,或者即使 dll2 由不同的 dll 加载,可执行文件也只能加载 dll2 的 1?

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

【问题讨论】:

    标签: windows dll executable


    【解决方案1】:

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

    【讨论】:

    • 谢谢,正是我需要的清晰度。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2016-10-06
      • 1970-01-01
      • 2012-09-13
      • 2010-10-03
      • 2011-09-16
      相关资源
      最近更新 更多