同一个DLL文件可以被多个进程加载。当不同的进程将DLL映射到自己的内存空间时,系统会为DLL中的全局和静态变量创建不同的实例,而不会共享同一个变量实例。
那我们如何实现在进程间共享DLL全局变量呢?
我们可以在DLL中使用如下语句来创建一个段,用来存放那些需要共享的变量:
1 |
|
共享的变量需要被初始化,并且还要设置链接器开关,使该段在所有映射DLL的进程中成为共享读写属性:
1 | // 共享读写 |
经过上述操作,共享的变量就可以跨不同进程进行读写操作了。
同一个DLL文件可以被多个进程加载。当不同的进程将DLL映射到自己的内存空间时,系统会为DLL中的全局和静态变量创建不同的实例,而不会共享同一个变量实例。
那我们如何实现在进程间共享DLL全局变量呢?
我们可以在DLL中使用如下语句来创建一个段,用来存放那些需要共享的变量:
1 |
|
共享的变量需要被初始化,并且还要设置链接器开关,使该段在所有映射DLL的进程中成为共享读写属性:
1 | // 共享读写 |
经过上述操作,共享的变量就可以跨不同进程进行读写操作了。