默认只是 其宿主进程的全局变量 也是说 每个宿主程序都有这个副本 所以这个全局变量不能被所有进程共用, windows好像是用 copy-on-write机制进行保护的。
如果共用 需要设置共享段 并把它放到共享段中 这样 一个宿主进程改了它的值 所有的进程都可以看到更改后的值, 这样:
#pragma data_seg("Shared")
int g_Share = 0;
#pragma data_seg()
#pragma comment(linker, "/Section:Shared,rws") 
==========================================================================
呵呵~这个方法简单
本文介绍了Windows环境下如何实现全局变量的跨进程共享。通过使用copy-on-write机制,默认情况下全局变量只在其宿主进程中可见。若要实现多个进程间的共享,则需要通过特定的编译指令将该变量置于共享内存段中。
953

被折叠的 条评论
为什么被折叠?



