我有3个C代码在RPI上运行。它们都在启动时开始执行一些操作(例如读取一些数据并驱动LCD)
我已经分别实现了这些代码,但是现在我需要共享一个30字节的缓冲区以在它们之间共享。
您对此有何建议?
program1.c<-----------> program2.c<-----------> program3.c
buff[30] <-----------> buff[30] <-----------> buff[30]
答案 0 :(得分:3)
您可以使用共享内存IPC,它仅允许您从多个合作进程访问同一物理内存。我说合作是因为他们需要注意同步,否则读取可能会观察到部分写入的数据等。这是一个教程:http://www.raspberry-projects.com/pi/programming-in-c/memory/shared-memory
答案 1 :(得分:0)
您基本上想在这些进程之间实现IPC。就个人而言,我想使用FIFO
(命名管道),因为它们为您实现了队列结构。因此,您可以将更多精力放在解释数据上,而将精力放在同步问题上。
this可能会对您有所帮助。