2013-04-09 75 views
0

我使用win7下的mingw编译和启动代码。 我自己没有完成的线程,程序直接写得很简单。在mingw中执行时禁用线程

但是,我只能涉及到线程的错误 - 错误出现在一个循环的相同位置,但不是在不同运行的相同循环计数;如果我在问题地点之前放置一个简单的输出程序,错误就会消失!

如果是线程问题,我该如何使它在单线程中运行(重新设计一个线程验证程序并不是真正的选项)。

谢谢。

+3

错误出现在您的代码中,它与线程无关。 – 2013-04-09 20:46:55

+0

听起来像*未定义的行为*是罪魁祸首。 – 2013-04-09 20:48:16

+0

调试它直到找出根本原因。只有这样,解决它。 – 2013-04-09 20:53:21

回答

1

对这种行为可能的原因:

  • 未初始化变量
  • 内存损坏
  • 错误汇编代码
  • 一些具体时间信息有助于结果(time()rand()
  • 未定义行为