LPVOID CreateSharedMem(LPCTSTR lpMapName,DWORD sz) {
HANDLE map = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sz, lpMapName);
if (map == INVALID_HANDLE_VALUE)return nullptr;
return MapViewOfFile(map, FILE_MAP_ALL_ACCESS, 0, 0, 0);
}
LPVOID OpenSharedMem(LPCTSTR lpMapName) {
HANDLE map = OpenFileMapping(PAGE_READONLY, true, lpMapName);
if (map == INVALID_HANDLE_VALUE)return NULL;
return MapViewOfFile(map, FILE_MAP_ALL_ACCESS, 0, 0, 0);
}
int _tmain(int argc, LPCTSTR argv[]) {
if (argc == 1) {
char far *ptr=(char far*)CreateSharedMem(_T("test"), 1024);
const char msg[] = "hello world";
memcpy(ptr, msg, sizeof msg);
}
else {
char far* ptr = (char far*)OpenSharedMem(_T("test"));
_tprintf(_T("%s"), ptr);
}
while (1);
}
进程间共享内存demo
最新推荐文章于 2023-03-16 17:51:22 发布