文档章节

windows 进程间通信共享内存

xxdd
 xxdd
发布于 2017/09/12 09:50
字数 180
阅读 7
收藏 0
点赞 0
评论 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
博文 47
码字总数 11623
作品 0
海淀
程序员
进程间通信方式

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

野渡书生 ⋅ 2016/05/05 ⋅ 0

windows下进程通信的几种方法

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

Davin ⋅ 2012/10/12 ⋅ 0

【Java】进程间通信

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

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

进程间通信的11种方法

进程间通信有以下方法 Using named objects Waiting for multiple objects Waiting in a message loop Using mutex objects Using semaphore objects Using event objects Using critical se......

AlphaJay ⋅ 2010/06/29 ⋅ 0

windows进程间通信

windows进程间通信 分类: 网络编程 2011-12-27 09:569372人阅读评论(2)收藏举报 windowsdll服务器socketssocketapi 摘 要: 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满...

智勇 ⋅ 2014/09/25 ⋅ 0

【Qt笔记】进程间通信

上一章我们了解了有关进程的基本知识。我们将进程理解为相互独立的正在运行的程序。由于二者是相互独立的,就存在交互的可能性,也就是我们所说的进程间通信(Inter-Process Communication,...

大道无名 ⋅ 2016/09/11 ⋅ 0

基于visual c++之windows核心编程代码分析(17)通过pipe进程间通信

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

junwong ⋅ 2012/03/09 ⋅ 0

windows下进程间通信的方式

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

技术小阿哥 ⋅ 2017/11/27 ⋅ 0

windows下进程间通信的手段有哪些?

作者:李志刚 纪玉波 程小茁 崔朝辉 摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程...

长平狐 ⋅ 2012/09/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 19分钟前 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 28分钟前 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 29分钟前 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 34分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 35分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 36分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 50分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 55分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 57分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 57分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部