我在qt上有exe文件,在raspberry pi终端上运行。有好几次,我用'sudo date -s“更新我的覆盆子pi时间Thu Jun 09 10:11:00 2016”'。起初,它看起来还不错。但在我这么做之后,我的exe文件无效。谁知道?为什么这发生在我的exe文件中?
答案 0 :(得分:0)
如果没有源代码,没有人可以说为什么会发生这种情况,但这里有一个猜测如何:
未来时间戳是根据当前时间/日期时间计算的,应用程序的某些部分会等待该时间到达。在该时间戳上向前跳过系统时钟将有望匹配条件(如果编码器足够智能以测试futureTime <= now
,不仅仅是为了相等),但向后跳过它可能会使应用等待意外的长时间直到条件再次匹配。
修复:使用(单调)计时器而不是计算时间来测试条件和计划事件。请参阅QTimer
和QTime
以及有关Qt timers的一般文档。