DLL 库中相同的静态变量和全局变量

问题描述 投票:0回答:1

我的问题是这里有三个库,两个动态库(DLL A和DLL B)和一个静态库C。C中定义了一些全局变量和静态变量,并且两个DLL都与静态库C链接。问题是当A和B都被一个进程加载时,这些变量发生了什么?每个 DLL 都有自己的实例,或者共享同一个实例。

c++ dll
1个回答
0
投票

除非两个 DLL 都导出该变量,否则不会发生任何特殊情况 - 两个 DLL 都有自己的内部副本。如果两者都导出变量,它们仍然有自己的副本,但使用这两个 DLL 的程序将需要选择。

这个问题被标记为 C++,但这实际上是一个 Win32 答案。

© www.soinside.com 2019 - 2024. All rights reserved.