Windows的DLL全局共享变量 发表于 2023-09-14 更新于 2025-12-05 分类于 ⑤Windows开发与调试秘籍 同一个DLL文件可以被多个进程加载。当不同的进程将DLL映射到自己的内存空间时,系统会为DLL中的全局和静态变量创建不同的实例,而不会共享同一个变量实例。 那我们如何实现在进程间共享DLL全局变量呢?我们可以在DLL中使用如下语句来创建一个段,用来存放那些需要共享的变量: 1234#pragma data_seg("AnyName") // 开始// 声明变量// ....#pragma data_seg() // 结束 共享的变量需要被初始化,并且还要设置链接器开关,使该段在所有映射DLL的进程中成为共享读写属性: 12// 共享读写#pragma comment(linker,"/SECTION:AnyName,RWS") 经过上述操作,共享的变量就可以跨不同进程进行读写操作了。