界面软件:QT
中间层代码:Linux C
目前我在做一个嵌入式软件,其中需要用到QT来做一个控制界面,其中由于平台缘故,大部分东西需要C来做。这时候我的想法是将界面、C业务层都分开来进行做,将C写的代码编译成库,提供接口给QT调用。但是由于缺乏开发经验,在工作中发现一些问题。
1.当程序运行以后,设备需要从外界传感器获取,交由C业务层处理,将处理结果显示到QT界面上。但是该如何及时的把C的处理结果传给QT界面上呢?
PS:目前我的想法是在C层定义一个结构体,如果有数据需要发送,就往这个结构体填充数据,并将此结构体标记为有效,同时向QT提供一个访问此结构体的函数fun()。 在QT上,另开一个线程循环调用fun() 来获取此数据。但是我感觉这样做效率不高,另外如果需要提交的数据类型太多的话,写代码会稍微麻烦点。
先在这里感谢大家,请大神们多多提出宝贵的建议。