在C代码之间共享数据的最佳方法

时间:2018-11-03 10:21:12

标签: c++ raspberry-pi3

我有3个C代码在RPI上运行。它们都在启动时开始执行一些操作(例如读取一些数据并驱动LCD)

我已经分别实现了这些代码,但是现在我需要共享一个30字节的缓冲区以在它们之间共享。

您对此有何建议?

program1.c<-----------> program2.c<-----------> program3.c
buff[30] <----------->   buff[30] <-----------> buff[30]

2 个答案:

答案 0 :(得分:3)

您可以使用共享内存IPC,它仅允许您从多个合作进程访问同一物理内存。我说合作是因为他们需要注意同步,否则读取可能会观察到部分写入的数据等。这是一个教程:http://www.raspberry-projects.com/pi/programming-in-c/memory/shared-memory

答案 1 :(得分:0)

您基本上想在这些进程之间实现IPC。就个人而言,我想使用FIFO(命名管道),因为它们为您实现了队列结构。因此,您可以将更多精力放在解释数据上,而将精力放在同步问题上。

this可能会对您有所帮助。