两个进程间能使用共享内存段进行数据共享吗?

我是这样做的:
在一个dll里面定义一个共享数据段,里面定义一个整形数据,然后定义两个导出函数对这个整形数据进行操作。
#pragma data_seg ("ShareDataSeg") //开辟一个名字为"ShareDataSeg"的共享内存段
int g_nShareInt = 0;
#pragma data_seg() //共享内存段"ShareDataSeg"定义结束
//加上这条声明,让这个共享内存段可以在所有动态或静态连接这个DLL的进程中都能看到,这个共享内存段会直接加载到进程堆栈空间
#pragma comment(linker, "/SECTION:ShareDataSeg,RWS")
extern "C" __declspec(dllexport) int SetVal(int val);
extern "C" __declspec(dllexport) int GetVal();

再写两个进程,都加载这个dll,都对这个共享数据段内的整形数据的值进行修改,发现两个进程使用的根本就是两个不同的变量,根本没有进程间共享的效果。
求高手指点!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问