VC++6.0共享内存技术总结 - [编程]

VC++6.0共享内存技术总结

程序1 -- 建立共享区:

HANDLE m_hMapFile=CreateFileMapping(  //创建一个有名的共享内存
    (HANDLE)0xFFFFFFFF, //0xFFFFFFFF表示创建一个进程间共享的对象
    NULL,
    PAGE_READWRITE,  //读写共享
    0,
    0x1000,       //共享区间大小4096
    "myfile");

void* m_pBaseMapFile=MapViewOfFile(  //映射到本进程的地址空间
   m_hMapFile,
   FILE_MAP_READ|FILE_MAP_WRITE,
   0,
   0,
   0);

unsigned char *p=(unsigned char*)m_pBaseMapFile;   //使用共享区
p[0]=00;
p[1]=11;
p[2]=22;

程序2 -- 使用共享区:

HANDLE m_hMapFile =OpenFileMapping( //获得共享内存句柄
  FILE_MAP_WRITE,
  FALSE,
  "myfile");

void *m_pBaseMapFile=MapViewOfFile( //映射到本进程的地址空间
  m_hMapFile,
  FILE_MAP_READ|FILE_MAP_WRITE,
  0,
  0,
  0);
unsigned char *p=(unsigned char*)m_pBaseMapFile;   
CString s;
s.Format("%#x: %d, %d, %d",p,p[0],p[1],p[2]); //使用共享区
AfxMessageBox(s);
       p[0]=33;
       p[1]=44;  //修改共享区

取消本进程地址空间的映射:
UnmapViewOfFile(m_pBaseMapFile);

VC++6.0共享内存技术总结相关推荐

  1. VC++6.0中内存泄漏检测 转

    最近看了周星星 Blog 中的一篇文章:"VC++6.0中内存泄漏检测",受益匪浅,便运行其例子代码想看看 Output 窗口中的输出结果,可惜怎么弄其输出都不是预期的东西,郁闷了 ...

  2. Linux四种共享内存技术(附源码):SystemV、POSIX mmap、memfd_create、dma-buf

    <Linux 下的进程间通信:管道.消息队列.共享文件.共享内存> <[共享内存]基于共享内存的无锁消息队列设计> <File Sealing & memfd_c ...

  3. notepad++ 行尾行首添加字符串-win32-管道技术-共享内存技术-父子进程数据交换-在CSDN中如何添加目录-Python-字体转文字

    文章目录 1.notepad++ 2.进程数据共享 3.文档编辑--在CSDN中如何添加目录? 4.Python--字体转文字 1.notepad++   notepad++ 是一款常用文字编辑软件, ...

  4. c语言中shmget相关函数,共享内存函数(shmget、shmat、shmdt、shmctl)及其范例 - guoping16的专栏 - 博客频道 - CSDN...

    2014年4月2日共享内存函数(shmget.shmat.shmdt.shmctl)及其范例 - guoping16的专栏 - 博客频道 - http://doc.xuehai.net 登录 | 注册 ...

  5. VC++ 6.0的小花招

    Visual Studio系列中产品中,Visual Studio 6.0是最经典的一个版本,虽然后来有Visual Studio .NET 2003,以及2005,也确实添加了很多让我觉得激动的特性 ...

  6. linux进程间通讯-共享内存

    文章目录 共享内存概述 共享内存的特点 共享内存操作 在ubuntu 12.04中共享内存限制值如下 获得一个共享存储标识符 创建共享内存 共享内存映射(attach) 解除共享内存映射(detach ...

  7. Linux的IPC机制(一):共享内存

    0. 共享内存 比喻 本质 多个进程访问同一个逻辑内存 直接访问内存,不用read()/write()非常方便 1. POSIX 共享内存 资料:unpv22e-ch13 查看: man shm_ov ...

  8. linux 共享内存 查看和删除

    在使用共享内存的程序异常退出时,由于没有释放掉共享内存,在调试时会出现错误.您可以使用shell命令来查看与释放已经分配的共享内存,下面将详细说明如何进行查看和释放分配的共享内存的方法. 预备知识 L ...

  9. Linux共享内存编程实例

    /*共享内存允许两个或多个进程进程共享同一块内存(这块内存会映射到各个进程自己独立的地址空间)从而使得这些进程可以相互通信.在GNU/Linux中所有的进程都有唯一的虚拟地址空间,而共享内存应用编程接 ...

  10. linux存储--共享内存机制shm(十三)

    实现进程间通信最简单也是最直接的方法就是共享内存--为参与通信的多个进程在内存中开辟一个共享区.由于进程可以直接对共享内存进行读写操作,因此这种通信方式效率特别高,但其弱点是,它没有互斥机制,需要信号 ...

最新文章

  1. node开启子线程_真Node多线程
  2. [转]建一个XMLHttpRequest对象池
  3. asp 表格渐变颜色_加班到半夜,同事却用WPS表格小技巧10分钟搞定工作!
  4. .NET6下周发布真的香,可不少人却只会.NET Framework!
  5. leetcode72 编辑距离
  6. 17岁少年攻击航司系统获刑4年!!!
  7. 智能跳过节假日算法java_Quartz 定时任务使用 —— 排除指定节假日时间执行任务(十一)...
  8. 【PL/SQL】学习笔记 (10)例外之 too_many_rows
  9. 疑似Bug:简书安卓10.7首页搜索关键字屏蔽敏感词不彻底
  10. MySql的like语句中的通配符:百分号、下划线和escape
  11. 安装北京极通EWebs作为企业虚拟化平台突然出现应用程序无法访问的现象
  12. 设置无线网卡为AP工作模式(pi2和pi3)
  13. 4行代码 超级简单 html/css 实现平移动画
  14. C++/EasyX面向对象编程实现-简单双人对战五子棋
  15. 从钉钉后台获取考勤数据(其他数据获取类似)
  16. 如何申请微信公众号--企业服务号
  17. mysql中的临时表怎么用的?
  18. 中国将强制统一充电接口,苹果如不低头,iPhone将被踢出中国市场
  19. matlab怎么生成星座图,关于16QAM生成星座图的程序问题
  20. Drools KIE API

热门文章

  1. matlab修改图片部分像素值
  2. vscode配置opengl时无法使用glad库解决办法
  3. nodejs后端office转pdf
  4. 删除mac启动台里删不掉的图标
  5. 2元参数matlab图,二元作用参数 - 仿真模拟 - MATLAB - 小木虫论坛-学术科研互动平台...
  6. c4d快速启动语言对话框脚本错误,如何解决“当前页面脚本发生错误”的问题
  7. 计算机课翻转课堂教案,翻转课堂式教学
  8. Endnote实用快捷键
  9. Ambiguous mapping(模糊映射)
  10. 【数据分析】快速获取微博用户数据,图片,视频