QT 上的 exe 文件在树莓派终端上的更新时间时挂起

exe file on QT hang when update time on raspberry pi terminal

本文关键字:更新 时间 挂起 终端 exe 上的 文件 QT      更新时间:2023-10-16

我在 qt 上有在树莓派终端上运行的 exe 文件。有几次,我用"sudo date -s "周四 Jun 09 10:11:00 2016"更新我的树莓派时间。起初,它看起来还不错。但是在我这样做了很多次之后,我的exe文件不起作用。有人知道吗?为什么我的 EXE 文件会发生这种情况?

没有源代码,没有人能说出为什么会发生这种情况,但这里有一个猜测:

未来的时间戳是从当前时间/日期时间计算的,应用的某些部分等待该时间到达。跳过该时间戳上的系统时钟有望与条件匹配(如果编码人员足够聪明,可以测试futureTime <= now,而不仅仅是相等性),但向后跳过它可能会使应用程序等待意想不到的很长时间,直到条件再次匹配。

修复:使用(单调)计时器而不是计算时间来测试条件和计划事件。请参阅QTimerQTime以及有关Qt计时器的一般文档。