糖炒栗子

cheap to talk,show muscle would be better...

导航

随笔分类 -  内存笔记

内存映射文件与内存读写实现进程间通信的比较
摘要:内存映射文件与内存读写都可以实现进程间通信,其两者的差别如下:1、内存写需要手工申请内存以得到内存的起始地址和手工释放内存,而利用内存映射文件则不需要,映射完之后直接即可得到内存的起始地址,但是在用完之后要记得释放内核对象File、Map,Mapview等,否则会造成内存泄露。2、内存读写利用的是windows消息来传递起始地址指针,而内存映射文件利用内核对象的共享来实现进程间通信。3、内存读写方式利用的是找到对方进程后,对其内存进行读写。内存映射方式是创建一个内核对象来实现内存的共享。总之:两者都是以找到一块内存地址相同的区域,返回其基地址后对共享内存进行操作。 阅读全文

posted @ 2011-11-30 17:04 糖炒栗子 阅读(539) 评论(0) 推荐(0) 编辑

进程间创建共享内存
摘要:对共享内存的学习整理:创建共享内存分以下几个步骤: 1.定义共享内存的结构体; 2.利用CreateFileMapping函数创建共享内存; 3.定义指向共享内存结构体的指针pShareMem,利用MapViewOfFile函数将刚刚创建的内存映射到定义指针pShareMem。 读写共享内存分以下几个步骤: 1.定义共享内存的结构体; 2.用OpenFileMapping函数打开上面创建的共享内存区,该函数返回共享内存的地址; 3.将共享内存映射为文件指针; 4.定义指向共享内存结构体的指针,将共享内存的内容拷贝到结构体指针里。HANDLE hMap;HANDLE hAddress;int i 阅读全文

posted @ 2011-11-30 13:53 糖炒栗子 阅读(4002) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示