进程A直接写入进程B的数据成员

时间:2014-01-16 15:39:46

标签: c++ boost software-distribution

我有一个c ++程序。有两个进程在两个终端中运行。

举一个简单的例子,进程A 是发件人而进程B 是接收者。

它们通过Boost的TCP / IP协议连接。

进程A 可以发送数据,而进程B 将接收并在int数组中写入它们。与int mem[32]

一样

我遇到的问题是它太慢了。有没有办法直接从进程A 访问进程B 的“mem[32]”,以便绕过TCP / IP?就像传递一些指针一样?(由于这两个进程位于同一台计算机中,应该有一些方法来访问公共内存位置?)

那可能吗?我该怎么看? (内存管理?)

由于

2 个答案:

答案 0 :(得分:2)

您可以使用Boost.Interprocess库创建可由多个处理器访问的共享内存。

答案 1 :(得分:0)

其他进程通常无法访问进程的内存。

您可以在线程之间共享指针,但不能在进程之间共享。

您是否尝试使用套接字,它通常用于进程之间的通信,也可以在分离的计算机之间使用?