文档章节

windows 进程间通信共享内存

xxdd
 xxdd
发布于 2017/09/12 09:50
字数 180
阅读 7
收藏 0
//写共享内存进程
#include "stdafx.h"
#include <windows.h>

#define BUF_SIZE 1024
LPTSTR szName = TEXT("SharedFileMappingObject");

int main()
{
	HANDLE hMapFile = NULL;
	LPTSTR pBuf = NULL;
	hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, szName);
	if (hMapFile == NULL || hMapFile == INVALID_HANDLE_VALUE)
	{
		printf("CreateFileMapping error :%d \n",GetLastError());
		return 0;
	}

	//创建view
	pBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);
	if (pBuf == NULL)
	{
		printf("MapViewOfFile error:%d\n",GetLastError());
		return 0;
	}

	char Count = 'a';
	while (1)
	{
		Sleep(3000);
		CopyMemory((PVOID)pBuf, (PVOID)&Count, 1);
		printf("mem value %c\n",pBuf[0]);
		Count++;
		if (Count > 'z')
			Count = 'a';
	}
    return 0;
}
//读共享内存进程
#include "stdafx.h"
#include <windows.h>

#define BUF_SIZE 1024
LPTSTR szName = TEXT("SharedFileMappingObject");

int main()
{
	HANDLE hMapFile;
	LPTSTR pBuf;
	hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, szName);
	if(hMapFile == NULL)
	{
		printf("OpenFileMapping error :%d\n",GetLastError());
		return 0;
	}

	pBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);
	if (pBuf == NULL)
	{
		printf("MapViewOfFile error:%d\n", GetLastError());
		return 0;
	}

	while (1)
	{
		Sleep(3000);
		printf("get mem value :%c \n",pBuf[0]);
	}

    return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
xxdd
粉丝 3
博文 54
码字总数 12958
作品 0
海淀
程序员
进程间通信方式

1、进程间通信方式 (1)windows进程间通信方式 1、文件映射; 2、共享内存(是文件映射的一种特殊情况); 3、邮件槽(mailslot)(点对点消息队列); 4、匿名管道; 5、命名管道; 6、剪贴...

野渡书生
2016/05/05
23
0
windows下进程通信的几种方法

1 Windows进程间通信的各种方法 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。 多进程/多线程是Windows操作...

Davin
2012/10/12
0
0
【Java】进程间通信

【http://blog.csdn.net/legendx/article/details/19558253】 进程间通信技术包括消息传递、同步、共享内存和远程过程调用。 1. 共享内存:公共缓存区(解决:如何共享;互斥) 2. 消息机制(...

Zoe_2016
2016/12/01
74
0
Windows进程间通信

参考文献1:http://blog.csdn.net/leftla/article/details/11564539 参考文献2:http://www.cppblog.com/TechLab/archive/2005/12/30/2272.aspx /////////////////////////////////////////......

曾劲松
2016/08/22
49
0
基于visual c++之windows核心编程代码分析(17)通过pipe进程间通信

管道是一种用于在进程间共享数据的机制,其实质是一段共享内存。Windows系统为这段共享的内存设计采用数据流I/0的方式来访问。由一个进程读、另一个进程写,类似于一个管道两端,因此这种进程...

junwong
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
16分钟前
0
0
zookeeper基本常识

一、Zookeeper基础知识 1 zookeeper是一个类似hdfs的树形文件结构,zookeeper可以用来保证数据在(zk)集群之间的数据的事务性一致。2 zookeeper有watch事件,是一次性触发的,当watch监视的数...

啃不动地大坚果
21分钟前
0
0
Forrester企业级容器平台权威排行出炉,小初创Rancher缘何成为领导者?

全球著名的调研机构Forrester Research近日发布了《The Forrester New Wave: Enterprise Container Platform Software Suites, Q4 2018》报告,对企业级容器平台(ECP)市场进行全面评估,希...

RancherLabs
24分钟前
0
0
【三 异步HTTP编程】 2. 流式HTTP响应

标准响应及Content-Length头 自HTTP1.1以来,服务器为了在一个链接中处理多个HTTP请求及响应,必须随response一起返回合适的Content-Length值。 默认情况下,对于简单请求你无需返回 Conten...

Landas
今天
0
0
Java后端技术栈,到底如何深入学习?

Java,是现阶段中国互联网公司中,覆盖度最广的研发语言。有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料。 一 。性能...

别打我会飞
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部