请问C能实现不同程序间的数据共享吗?

一介布衣萧萧 2011-07-15 11:06:09
最近在做一个CE驱动,要在OAL层和驱动层进行数据共享,从OAL层中写缓冲区,在驱动层中读取缓冲区数据。在OAL层中只能用C或汇编,这样的话,我要实现这个数据共享,该怎么做呢?用extern无法实现,编译可以通过,但是在驱动层访问底层定义的缓冲区时,却没有内存,缓冲区为空。实际上,OAL层中已经把数据写入缓冲区了。

现在,特地请教一下各位大大,C/汇编该如何实现数据共享?
...全文
128 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
一介布衣萧萧 2011-07-18
  • 打赏
  • 举报
回复
问题已经解决,散分~~~
解决办法:
分配了一段内存作为数据缓冲区,通过内存映射访问该缓冲区就OK了。关键是CE底层里面,弄这个,需要在config.bib文件中分配内存段
pathuang68 2011-07-15
  • 打赏
  • 举报
回复
内存共享
vipvvv 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 loaden 的回复:]
内存映射文件
管道
共享数据段
很多啊。
主要是得操作系统支持才可以。
[/Quote]
这个正解
至善者善之敌 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 loaden 的回复:]
内存映射文件
管道
共享数据段
很多啊。
主要是得操作系统支持才可以。
[/Quote]

+++1
jackyjkchen 2011-07-15
  • 打赏
  • 举报
回复
要求效率就用内存映射
一介布衣萧萧 2011-07-15
  • 打赏
  • 举报
回复
补充一下,这个实时性要求较高
三断笛 2011-07-15
  • 打赏
  • 举报
回复
TCP/UDP,DDE
赵4老师 2011-07-15
  • 打赏
  • 举报
回复
文件
数据库
bdmh 2011-07-15
  • 打赏
  • 举报
回复
内存 映射
。。。
。。。
。。。
老邓 2011-07-15
  • 打赏
  • 举报
回复
内存映射文件
管道
共享数据段
很多啊。
主要是得操作系统支持才可以。
一介布衣萧萧 2011-07-15
  • 打赏
  • 举报
回复
我在CE的底层中使用,实时性要求比较高!用读写文件肯定不行。系统的api似乎也不适用,没找到对应的api。
看来只能够从系统中分一块内存出来,映射后进行数据缓冲了。
luciferisnotsatan 2011-07-15
  • 打赏
  • 举报
回复
有一个方法用纯c能做,把数据写到文件里,然后再从文件里读出来。
luciferisnotsatan 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 brantyou 的回复:]

各位大大,你们说的内存映射,用C咋实现呀????
[/Quote]
ls说的都是和具体系统有关的,调用系统提供的api
神之言 2011-07-15
  • 打赏
  • 举报
回复
学习!!!
TitanQuest 2011-07-15
  • 打赏
  • 举报
回复
虽然我不知道楼主说什么,但是顶楼主!
一介布衣萧萧 2011-07-15
  • 打赏
  • 举报
回复
各位大大,你们说的内存映射,用C咋实现呀????

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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