在c代码之间共享数据的最佳方式

best way to share data between c codes

本文关键字:最佳 方式 数据 共享 代码 之间      更新时间:2023-10-16

我有3个C代码在RPI上运行。他们都是从启动开始做一些事情(例如读取一些数据和驱动LCD(

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

你对此有什么建议?

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

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

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

这可能会对你有所帮助。