进程共享数据封装成类
来源:互联网 发布:网络教学的设计原则 编辑:程序博客网 时间:2024/05/29 12:22
.cpp
#include "ShareMemory.h"CShareMemory::CShareMemory(constchar* pszMapName, int nFileSize, BOOL bServer):m_hFileMap(NULL),m_pBuffer(NULL){if (bServer) //是服务端,就创建{m_hFileMap = ::CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_EXECUTE_READWRITE, 0, nFileSize, pszMapName);}else //否则就打开{m_hFileMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, pszMapName);}//把它映射到内存m_pBuffer = ::MapViewOfFile(m_hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);}CShareMemory::~CShareMemory(void){::UnmapViewOfFile(m_pBuffer);::CloseHandle(m_hFileMap);}
#pragma once#include <Windows.h>class CShareMemory{public:CShareMemory(constchar* pszMapName, int nFileSize=0, BOOL bServer=FALSE);~CShareMemory(void);//属性LPVOID GetBuffer() const {return m_pBuffer;}//实现private:HANDLE m_hFileMap;LPVOID m_pBuffer;};
服务端:
#include "ShareMemory.h"int main(int argc, char *argv[]){//进程间内存共享LPCTSTR lpName= "hello";LPCTSTR lpContent = "123456";CShareMemory* pShareMemory = new CShareMemory(lpName, 20, FALSE);LPVOID lpBase = pShareMemory->GetBuffer();strcpy((char*)lpBase, lpContent);printf("%s\n",(char*)pShareMemory->GetBuffer());getchar();return 0;}
客户端:
#include "ShareMemory.h"int main(int argc, char *argv[]){//进程间内存共享LPCTSTR lpName= "hello";LPCTSTR lpContent = "123456";CShareMemory* pShareMemory = new CShareMemory(lpName, 20, FALSE);printf("%s\n",(char*)pShareMemory->GetBuffer());getchar();return 0;}
- 进程共享数据封装成类
- 进程间共享数据
- 进程间数据共享
- 进程共享数据
- 进程之间数据共享
- 进程Preferences数据共享
- 进程间共享内存操作简易封装
- 封装共享内存类
- 进程间的数据共享
- 进程共享同一个DLL数据
- 进程通信 共享数据段
- 父子进程数据共享问题
- 父子进程数据共享问题
- python 进程间共享数据
- python进程间共享数据
- FregServer进程,封装进程间通信数据
- 进程共享变量#pragma data_seg用法 / 数据共享/进程通信
- python基础-Manager进程数据共享、进程互斥锁数据非共享、线程互斥锁数据共享
- Oracle常用监控SQL
- Oracle常用监控SQL
- STM32 USB Mass Storage 例程调试笔记
- 腾讯实习生笔试题目(一)
- the main methos of class Ssh in pyssh module
- 进程共享数据封装成类
- 利用javascript+webservice实现post方法
- Android-SurfaceView与SurfaceHolder对象
- JS教程
- 20条编程经验
- apk反编译问题总结
- apk反编译问题总结
- Android Looper
- 123