進程通信係列-共享內存
共享內存是最簡單的方法,但要注意是要限製長度,隻能是定長的,而且要加以判斷有沒有獲取過
共享內存類:
#include "stdafx.h"
#include "share.h"
#pragma data_seg("have_jxy")//共享數據段還有種方法是內存映射
char m[2000]="";//必須是定長,不然會卡死
#pragma data_seg()
#pragma comment(linker,"/SECTION:have_jxy,RWS")
share::share(void)
{
now=0;
}
share::~share(void)
{
}
CString last="";
int share::send(CString content)
{
strncpy_s(m,(LPCTSTR)content,sizeof(m));
return 1;
}
CString share::read()
{
CString s(m);
if(last==s)return "";
last=s;
return s;
}
int share::have()
{
return last!=CString(m);
}
最後更新:2017-04-03 20:19:52