0

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

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

你有什么建议这样做?

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

2 回答 2

3

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

于 2018-11-03T10:34:59.167 回答
0

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

可能会帮助你。

于 2018-11-03T11:55:48.920 回答