C:printf改变程序的过程



我有一个程序,它使用openGL,GLUT,GLUE模拟碰撞(圆圈)。一切正常,但是当我稍微更改代码时,它开始做奇怪的事情。

我有 2 个按钮,"播放"和"步","玩"模拟用计时器更新的碰撞,"步"也模拟,但你必须点击它才能走得更远。

最初它这样做了,但现在"播放"按钮的作用与"步骤"相同。如果我在我的计时器回调中添加一个 printf,一切都可以完美地工作......

我能做什么?

在我的timer_cb中,我只有:

 // printf("somethingn");
 glutPostRedisplay();
 glutTimerFunc(getDeltaT(), timer_cb, 0);

I/O 例程(如 printf)通过调用它们来引入合理的延迟。为了以一定程度的正确性回答,您向我们展示了用户界面代码,但我想我可以猜到......

你在使用线程吗?也许这可能是一个并发错误,因为按钮事件处理程序的执行与更新逻辑不同步?

相关内容

  • 没有找到相关文章

最新更新