当前位置:  开发笔记 > 编程语言 > 正文

是否可以在同一台计算机上的两个不同程序之间使用公共指针

如何解决《是否可以在同一台计算机上的两个不同程序之间使用公共指针》经验,为你挑选了2个好方法。

我需要两个不同的程序来处理一组数据.我可以在它们之间建立网络(UDP)连接,但我想通过任何方式避免传输整个数据.

这听起来有点荒谬,但有可能在这两个程序之间共享某种指针,这样当一个更新它时,另一个可以简单地获取指针并开始使用它吗?

我正在使用Ubuntu 9.10



1> Cheeso..:

你在谈论IPC - 进程间通信.有很多选择.

一个是内存映射文件.它接近于你所描述的.但是,它可能是也可能不是满足您要求的最佳方法.阅读IPC以获得一些深度.


这是一个可能有用的链接.它使用Boost库.http://www.boost.org/doc/libs/1_37_0/doc/html/interprocess/quick_guide.html#interprocess.quick_guide.qg_interprocess_map
Niklaos:好的我们是程序员而不是用户,然后;)

2> Drew Hall..:

您正在寻找的通常称为"共享内存段",您访问它的方式是特定于平台的.

在POSIX(大多数Unix/Linux)系统上,您使用sys/shm.h中的shm _*()API.

在Win32上,它完成了内存映射文件,因此您将使用CreateFileMapping()/ MapViewOfFile()等.

不确定Mac,但你也可以使用shm _*().

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有