我有一个c ++程序。有两个进程在两个终端中运行。
举一个简单的例子,进程A 是发件人而进程B 是接收者。
它们通过Boost的TCP / IP协议连接。
进程A 可以发送数据,而进程B 将接收并在int
数组中写入它们。与int mem[32]
我遇到的问题是它太慢了。有没有办法直接从进程A 访问进程B 的“mem[32]
”,以便绕过TCP / IP?就像传递一些指针一样?(由于这两个进程位于同一台计算机中,应该有一些方法来访问公共内存位置?)
那可能吗?我该怎么看? (内存管理?)
由于
答案 0 :(得分:2)
您可以使用Boost.Interprocess库创建可由多个处理器访问的共享内存。
答案 1 :(得分:0)
其他进程通常无法访问进程的内存。
您可以在线程之间共享指针,但不能在进程之间共享。
您是否尝试使用套接字,它通常用于进程之间的通信,也可以在分离的计算机之间使用?