文档章节

windows 进程间通信共享内存

xxdd
 xxdd
发布于 2017/09/12 09:50
字数 180
阅读 40
收藏 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

xxdd

粉丝 3
博文 54
码字总数 12958
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

进程间通信方式

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

野渡书生
2016/05/05
71
0
Windows进程间各种通信方式浅谈(转)

转自 https://blog.csdn.net/microzone/article/details/7044266 权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn...

osc_etp9xzp8
2019/08/23
2
0
windows下进程通信的几种方法

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

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

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

Zoe_2016
2016/12/01
187
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
164
0

没有更多内容

加载失败,请刷新页面

加载更多

.NET中小数,浮点数和双精度之间的区别? - Difference between decimal, float and double in .NET?

问题: What is the difference between decimal , float and double in .NET? .NET中的decimal , float和double float什么区别? When would someone use one of these? 有人什么时候会使用......

fyin1314
今天
22
0
如何找出Windows上正在侦听端口的进程? - How can you find out which process is listening on a port on Windows?

问题: 如何找出Windows上正在侦听端口的进程? 解决方案: 参考一: https://stackoom.com/question/CXO/如何找出Windows上正在侦听端口的进程 参考二: https://oldbug.net/q/CXO/How-can...

技术盛宴
今天
10
0
OSChina 周三乱弹 —— 一家动物都快饿成标本了~

@黑觉非常君 :前天晚上9点开始睡觉,睡到昨天上午8点起床,昨天下午2点又睡,睡到下午7点多,晚上10点又困了,又睡,睡到今天上午8点,中途没醒过,怎么这么能睡,是不是快挂了。 能睡不是好...

小小编辑
今天
15
0
神剧推荐全剧最污片段精剪

神剧推荐,全剧最污片段精剪 豆瓣评分最高,脑洞最大,脑回路最曲折,恶搞无数经典,没有一条差评的神剧 整个系列完整版 到这里观看

a57571735
今天
22
0
pingan.

职位诱惑:金融,技术研发,技术攻关,大舞台大作为职位描述:职位诱惑:立志打造一支国内一流实盘量化交易框架开发团队职位描述:职位描述:负责实盘低时延量化交易框架及附属行...

MtrS
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部