当调用的DLL中有全局变量时调用它的多个实例是否共享同一个全局变量????
问题的起因原于自己在工作中需要调用一个动态库,而其中要用到一个全局的变量才能把需要的句柄给传出来,于是就想,如果有多个进程要调用这个动态库时,后面的进程调用同一个动态库时,是否会把以前调用同一个动态库时的全局变量的值改变?????
我猜想应该是不会的吧,于是带着这个疑惑,我写了一个示例程序来验证自己的想法。示例代码如下:
Step1
首先创建一个动态库工程globalTest,这个动态库中要有一个全局变量,为了更加明显的证明,我在这个动态库中定义了两个函数来操纵这个全局变量:
(1).def文件的代码如下:
LIBRARY globalTest
EXPORTS
testGlobal
showGlobal
(2).h文件的代码如下:
int testGlobal(int *global);
int showGlobal(int *global);
(3).cpp文件的代码如下:
// globalTest.cpp : Defines the entry point for the DLL application.
//