我想在两个进程间内存映射一个类,但是单单映射字符串可以收到,映射一个类过去后,里面的成员值都为空了,麻烦各位帮忙看看是什么问题。。
代码:
进程1
MyStruct st;
st.a = 23;
st.b = 2323; SECURITY_ATTRIBUTES sa = { sizeof(SECURITY_ATTRIBUTES) };
sa.bInheritHandle = TRUE; HANDLE hfilemapping = CreateFileMapping(INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, 8024, "test");
MyStruct* mapview = (MyStruct*)MapViewOfFile(hfilemapping, FILE_MAP_WRITE | FILE_MAP_READ, 0, 0, 0); mapview = &st; MessageBox("ss");进程2 HANDLE hfilemapping = OpenFileMapping(FILE_MAP_WRITE | FILE_MAP_READ, TRUE, "test");
MyStruct *ff = (MyStruct*)MapViewOfFile(hfilemapping, FILE_MAP_WRITE | FILE_MAP_READ, 0, 0, 0);ff的值是空的。c++vcmfc
代码:
进程1
MyStruct st;
st.a = 23;
st.b = 2323; SECURITY_ATTRIBUTES sa = { sizeof(SECURITY_ATTRIBUTES) };
sa.bInheritHandle = TRUE; HANDLE hfilemapping = CreateFileMapping(INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, 8024, "test");
MyStruct* mapview = (MyStruct*)MapViewOfFile(hfilemapping, FILE_MAP_WRITE | FILE_MAP_READ, 0, 0, 0); mapview = &st; MessageBox("ss");进程2 HANDLE hfilemapping = OpenFileMapping(FILE_MAP_WRITE | FILE_MAP_READ, TRUE, "test");
MyStruct *ff = (MyStruct*)MapViewOfFile(hfilemapping, FILE_MAP_WRITE | FILE_MAP_READ, 0, 0, 0);ff的值是空的。c++vcmfc
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货