当前位置:StudyEZ>学易考试社区>IT>编程语言>用CreateFileMapping共享内存中的一个数据结构问题

用CreateFileMapping共享内存中的一个数据结构问题

上一主题 下一主题
1页, 共1页 (共1楼)

用CreateFileMapping共享内存中的一个数据结构问题

2007-03-05 2:38 下午


共享内存:
m_hMapObject=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,
PAGE_READWRITE,0,0x1000, _TEXT("shared_memory"));

m_pSMapView=(m_MapView_Struct *)MapViewOfFile
(m_hMapObject,FILE_MAP_WRITE, 0, 0,0);

共享的数据结构如下:
struct  m_MapView_Struct{
char m_c;
int m_iMapView;
char* m_pszMapView;
char* m_pszMapView2;
}* m_pSMapView;

发送进程里如下分配:
m_pSMapView->m_iMapView = 13628;
m_pSMapView->m_c = '*';
char *stmp1 = "m_pszMapView1";
m_pSMapView->m_pszMapView = stmp1;
(char *)(m_pSMapView->m_pszMapView2) = "m_pszMapView2";

结果
接收进程能读取到int型和char型,但是两个char*型的字符串都得不到。
我现在想结构里也共享字符串,正确的应该怎么定义呢?

 

 

1页, 共1页 (共1帖)