進程通信係列-共享內存
共享內存是最簡單的方法,但要注意是要限製長度,隻能是定長的,而且要加以判斷有沒有獲取過
共享內存類:
#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