将gtk图形添加到现有控制台应用程序 - 共享内存?

时间:2015-06-14 15:19:52

标签: c unix gtk cairo sysv-ipc

我有一个用系统v库(信号量,消息队列)和多个进程制作的concurent应用程序(机场的并发模拟)。

我不允许使用线程,这就是为什么我有一个进程线程和多个' plane'过程

我想添加一些图形来显示GTK(带开罗)图书馆的机场交通。

如何添加图片?当我尝试将其添加到机场进程时,gtk_main将阻止整个应用程序。我考虑过创建另一个进程并将图形添加到共享内存中,但我已经读过它无法正常工作。

最简单/最好的选择是什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

听起来你应该创建一个单独的GUI进程,其他进程可以发送消息。一种方法是让GUI进程导出其他进程可以连接的DBus interface。这样,当您的GUI进程收到来自另一个进程的消息时,您的GTK主循环将发出一个信号,您可以安排一个信号处理程序来处理它并相应地更新GUI。