100分求解!请个位大侠指点!

crgxw 2010-12-27 11:22:36
在linux中

我在mylib.so里定义一个全局变量 int a =-1;和int SetData(int Data),int GetData()两个函数

我想在两个进程A和B中共享 mylib.so中的变量a是不可以那?

如我在A进程中SetData(10),想要在B进程中GetData() == 10;

不用共享内存,如何实现那?

谢谢大家!
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
我不知道怎么弄。没有其他办法。share library就是共享地址空间的。
yuanzhenhai 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justkk 的回复:]

实现不了吧
两个进程的地址空间是彼此独立的
如果这种方式可行,那又多了一种进程间通信机制了..
[/Quote]+1
johndiyang 2010-12-27
  • 打赏
  • 举报
回复
两个进程,有两块内存。总要有个通信渠道吧:共享内存、管道、socket
木木0o0欧尼 2010-12-27
  • 打赏
  • 举报
回复
确实实现不了,不过像楼上说的你可以用线程实现,线程是共享资源的。
小魔菇 2010-12-27
  • 打赏
  • 举报
回复
用两个线程来做
justkk 2010-12-27
  • 打赏
  • 举报
回复
实现不了吧
两个进程的地址空间是彼此独立的
如果这种方式可行,那又多了一种进程间通信机制了..

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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