c++中共享内存原理及实现
2024-09-02 13:08:30
共享内存 (也叫内存映射文件) 主要是通过映射机制实现的 , Windows 下进程的地址空间在逻辑上是相互隔离的 , 但在物理上却是重叠的 ; 所谓的重叠是指同一块内存区域可能被多个进程同时使用 ,
当调用 CreateFileMapping 创建命名的内存映射文件对象时 , Windows 即在物理内存申请一块指定大小的内存区域 , 返回文件映射对象的句柄 hMap ;
为了能够访问这块内存区域必须调用 MapViewOfFile 函数 , 促使 Windows 将此内存空间映射到进程的地址空间中 ;
当在其他进程访问这块内存区域时 , 则必须使用 OpenFileMapping 函数取得对象句柄 hMap , 并调用 MapViewOfFile 函数得到此内存空间的一个映射 , 这样系统就把同一块内存区域映射到了不同进程的地址空间中 , 从而达到共享内存的目的.
https://blog.csdn.net/tojohnonly/article/details/70246965
https://www.cnblogs.com/me115/archive/2013/01/07/2848567.html
https://www.jianshu.com/p/56efa9d1500a
booK
最新文章
- Intro to CSS 3D transforms
- 每天一个linux命令(3):pwd命令
- Scala的下一步
- ASP.NET Web API 上传文件
- nodejs express template (模版)的使用 (ejs + express)
- 在为知笔记中使用JQuery
- DedeCMSV57数据库结构文档
- codeforces 161D Distance in Tree 树形dp
- 《JavaScript DOM编程艺术》
- DataTable的新建、查询、添加和修改
- uclibc,eglibc,glibc之间的区别和联系
- 页面资源预加载(Link prefetch)功能加速你的页面加载速度
- Spring4.0学习笔记(3) —— Spring_Bean之间的关系
- nginx启动、开机自启动、重启、关闭
- angularjs执行流程
- 学习git之路--1
- springcloud实战案例苏宁和海信
- 从零开始学 Web 之 CSS3(五)transform
- Eclipse workspace 被占用问题
- POJ 2771