当前位置:首页 > 编程笔记 > 正文
已解决

70、window11+visual studio2019+共享内存进行数据传输

来自网友在路上 178878提问 提问时间:2023-10-22 12:14:33阅读次数: 78

最佳答案 问答题库788位专家为你答疑解惑

基本思想:服务端和客户端

写共享内存

#include <windows.h>
#include <iostream> 
using namespace std;HANDLE g_EventRead;		// 读信号灯
HANDLE g_EventWrite;	// 写信号灯
// 定义共享数据class Writer {
public:Writer(const int buf_size, const  wchar_t *share_memory);~Writer();
public:int send_data(char *szBuffer);
private:HANDLE hMapFile;LPVOID lpBase;
};Writer::Writer(const int buf_size, const wchar_t *share_memory) {// 创建共享文件句柄 hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE,   // 物理文件句柄  NVALID_HANDLE_VALUE  则创建一个进程间共享的对象NULL,   // 默认安全级别PAGE_READWRITE,   // 可读可写0,   // 高位文件大小buf_size,   // 低位文件大小share_memory   // 映射文件名,即共享内存的名称);if (0 == hMapFile){return ;}// 映射缓存区视图 , 得到指向共享内存的指针// 将hFileMapping共享内存衍射到本进程的地址空间中lpBase = MapViewOfFile(hMapFile,            // 共享内存的句柄FILE_MAP_ALL_ACCESS, // 可读写许可0,0,buf_size);if (0 == lpBase){printf("create lpBase fail\n"
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"70、window11+visual studio2019+共享内存进行数据传输":http://eshow365.cn/6-21645-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!