当前位置: 代码迷 >> VC >> 内存映射的有关问题,各位帮忙看看
  详细解决方案

内存映射的有关问题,各位帮忙看看

热度:232   发布时间:2016-05-05 00:09:45.0
内存映射的问题,各位帮忙看看
我想在两个进程间内存映射一个类,但是单单映射字符串可以收到,映射一个类过去后,里面的成员值都为空了,麻烦各位帮忙看看是什么问题。。
代码:
进程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的值是空的。



VC C++ MFC

------解决方案--------------------
你把mapview指向st是没有用的,
你要把st的内容写到文件中才可以。
------解决方案--------------------
要序列化/反序列化才行。
  相关解决方案