symbian进程间内存共享
最近看了一些进程间通讯的资料,基本上原理是一样的,在一个线程开一个全局的服务,另外一个可以通过全名字,或者部分名字查找这个服务,然后取得这个全局服务的内存地址,得到内存中的数据。
在symbian上有RChunk,RTread等类,但是在3rd fp1上取消了RTread的Read和Write方法,所以只能用RChunk类了,调用方法如下:
一个线程启动服务:
_LIT(KChunkName,"xn Globla Chunk");
TInt rc=iChk.CreateGlobal(KChunkName,0x1000,0x5000);
//取得共享内存地址
TUint8* uid=iChk.Base();
HBufC* buf=HBufC8::NewL(255);
buf->Des().Copy(_L8("123456"));
//uid=&(iHbuf->Des()[0]);
//将数据放入到共享内存中
TPtrC8 ptr;
Mem::Copy(uid,(TAny *)buf->Des().Ptr(),buf->Length());
//服务线程ok
另外线程:
_LIT(KChunkName,"xn Globla Chunk");
RChunk chk;
chk.OpenGlobal(KChunkName,0);//第一个参数指定了全局内存块的名称,第二个参数用于说明块是为只读(1)还是可写的(0)
TUint8* uid=chk.Base();
TPtrC8 ptr;
//Mem::Copy(uid,(TAny *)iHbuf->Des().Ptr(),iHbuf->Length());
ptr.Set( (const TUint8*)uid , chk.Szie());
//ok 共享内存中的数据取到了,当然也可以修改。
symbian进程间内存共享相关推荐
- 进程间内存共享问题[转]
http://www.vkfz.com/net-CreateFileMapping-t55403.htm playroc 发表于 2006-2-27 23:21:08 超级难题:.net 中Creat ...
- linux进程间通讯-共享内存
文章目录 共享内存概述 共享内存的特点 共享内存操作 在ubuntu 12.04中共享内存限制值如下 获得一个共享存储标识符 创建共享内存 共享内存映射(attach) 解除共享内存映射(detach ...
- WIN32 进程间通讯-共享内存
一.引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯.WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换 ...
- 进程间基于共享存储区的通信_IPC(进程间通讯):inter process communication
管道 (1)管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道: (2)只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程): (3)**单独构成一种独立的文件系统:**管道 ...
- python multiprocessing 进程间如何共享数据、对象
参考文章1:Python 进程间的数据共享 参考文章2:Python多进程编程-进程间共享 对象
- linux进程实现进程通信内存共享,Linux进程间通信 -3内存共享
内存共享允许两个或多个不相关的进程,访问同一个逻辑内存,共享内存的具体实现,由不同进程之间共享的内存安排为同一物理内存. 过个进程就像通过malloc获取的内存一样去使用,但是需要额外的小消息来同队内 ...
- 开启子进程的两种方式、进程间内存空间隔离、进程对象的方法或属性详解
1.操作系统(推荐查看书籍:现代操作系统) 操作系统是位于计算机硬件与软件之间的控制程序 作用: 1.将硬件的复杂操作封装成简单的接口,给用户或者应用程序使用 ...
- 进程间通信(1) dll 实现进程的内存共享
1. 两个进程访问同一个dll 2.写入时复制(CopyOnWrite,简称COW)思想 如果有多个调用者(Callers)同时访问相同的资源(如内存或者是磁盘上的数据存储),他们会共同获取相同的指针 ...
- c++ 内存映射文件进程间共享数据
int main(int argc, char *argv[]) { //RecursiveDelete("C:\\20_128\\"); //Self ...
最新文章
- Android开发四年以来的工作难点总结
- 一文攻破结构体-C语言
- bow 折叠键盘 linux,bow便携折叠蓝牙键盘体验
- 教程和攻略之悪戯極~いたずらリアル~(3D电车监禁)+初回特典
- sql语句 case_使用SQL Case语句查询数据
- Android.mk 使用 环境 小结
- 分布式、微服务与集群的区别
- kettle中Pan kitchen用法及bat写法
- DeepFake技术--fakeapp, faceswap, deepfacelab等deepfakes换脸程序的简单对比
- 无路可逃java攻略_《生化危机2:重制版》幽灵生还者无路可逃流程攻略
- 【Linux】区分Ubuntu桌面版本和服务器版本
- 微信小程序:map组件所在页面加载慢,长时间白屏的问题
- 深入理解Java7.pdf
- 用python实现过滤存在大部分空白背景的图片
- 如何看linux版本
- 2016年中国安防系统集成商发展状况如何?
- Soft-Clipping Swish激活函数
- 配置git send-mail发邮件 (126邮箱适用)
- 行人检测0-05:LFFD-行人训练数据制作以及训练
- swoft学习笔记之request请求
热门文章
- 一个软件开发工程师选择C++的自述
- WinMount V2.2.2, 日期2008.02.29
- emplace_back与push_back异同
- 【特别推荐】精心挑选的6款优秀的 jQuery 视差滚动效果插件
- html中如何让背景图片填充整个图片
- 在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决办法
- 解决 docker exec 报错 Error response from daemon: Container XXXXX is not running
- NewStar week3
- 《通信原理》课后题 樊昌信
- 反向不归零码NRZI