hi,我来问一个关于两个com组件间信息共享的问题!!1

john1980 2002-02-24 09:04:36
我现在开发需要用到两个组件 a,b
需要在a,b间共享一组数据
a计算出来
然后b用这组数据
每秒刷新二十次左右
采用何种方式才是最快的哪?
数据结构大致如下:
一个结构数组:c[20]
c是一个结构,包涵约有7个float 数据

怎样才能使数据共享最快?
我是想创建一个文件内核对象,然后将句柄值传给两个组件.
听说这是跨不同的 Application domain 的最快的方法
要是用列集的话,由于在不同的 Application domain 间转换地址,
需要花费较多的时间
请高手指教

...全文
28 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantong 2002-02-25
  • 打赏
  • 举报
回复
文件内核对象是内核对象,不需要列集!
你看看msdn就明白了
fantong 2002-02-25
  • 打赏
  • 举报
回复

CreateFileMapping
OpenFileMapping
MapViewOfFile
MapViewOfFileEx
UnmapViewOfFile
FlushViewOfFile
CloseHandle
创建共享内存区
具体细节查msdn topic: Managing Memory-Mapped Files in Win32
不过你的要求这么低,数据少,才20*7个float数据,每秒才20次,实际上我觉得直接传递都可以,用共享内存有点杀鸡用牛刀了

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧