window 共享内存 C基础例子
发布日期:2021-06-30 10:11:40
浏览次数:3
分类:技术文章
本文共 1310 字,大约阅读时间需要 4 分钟。
代码:
#include#include /* 关闭程序,自动释放映射*/int main(){ char *pData = NULL; // 首先试图打开一个命名的内存映射文件对象 HANDLE hMap = OpenFileMapping(FILE_MAP_ALL_ACCESS, 0, "test1"); if (NULL == hMap) { printf("open failed,creating\n"); hMap = CreateFileMapping(INVALID_HANDLE_VALUE,//=0xFFFFFFFF 就是内存映射 物理文件句柄的一个特殊情况 NULL, //安全设置 NULL使用默认的 PAGE_READWRITE, //保护设置,可读可写 0, // 1024, //大小 "test1"); //共享内存名称,注意不能重名 // 映射对象的一个视图,得到指向共享内存的指针,设置里面的数据 if (NULL != hMap){ printf("create suscess\n"); pData = (char *)MapViewOfFile(hMap, FILE_MAP_WRITE,0,0,0); if(pData==NULL){ printf("getdatafailed close\n"); CloseHandle(hMap); hMap = NULL; } else{ printf("get data susccess\n"); *(pData+1) = 23; } } system("pause"); } else { printf("open susccess\n"); pData = (char *)MapViewOfFile(hMap, FILE_MAP_WRITE,0,0,0); if(pData==NULL){ printf("get datafailed close\n"); CloseHandle(hMap); hMap = NULL; } else{ printf("get data susccess\n"); printf("%d,%d,%d\n",*(pData),*(pData+1),*(pData+2)); } //关闭文件对象句柄 CloseHandle(hMap); } return 0;}
测试:
先打开一个:
再打开另外一个:
转载地址:https://islet.blog.csdn.net/article/details/117821866 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月27日 17时34分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020-11-30-golang并发模式context
2019-04-30
知名定律摘要-持续更新
2019-04-30
golang value part
2019-04-30
golang-reflect-method-callback
2019-04-30
系统性能和TCP/UDP网络优化-学习大杂烩
2019-04-30
shader入门精要2
2019-04-30
shader入门精要3
2019-04-30
刷一下leetcode算法题,寻找两个正序数组的中位数
2019-04-30
2021-03-12
2019-04-30
戴森球计划这个游戏牛逼
2019-04-30
Redis 学习part one
2019-04-30
Bitcoin比特币源码解读——网络协议
2019-04-30
python+opencv学习(一)
2019-04-30
python 基于Opencv图像对比
2019-04-30
python +pytest 最强自动化
2019-04-30
python之json和dick数据类型
2019-04-30
python 类和方法,继承
2019-04-30
完全背包
2019-04-30
struct与class关键字的选择
2019-04-30