
在VMware虚拟机,Ubuntu系统,编译器是clang++。自己写的c++代码,昨晚跑出来的结果是错误的,今天在没有做出任何修改的情况下再跑一遍,既然正确了。 这是怎么回事呢? 难到计算机跟人一样也会因为“累”而犯错误吗?
1 LU35 2015 年 7 月 3 日 和浮点计算相关? |
2 loversInJapan OP @LU35 跟线程有关的。 |
3 visonme 2015 年 7 月 3 日 在虚拟机和真机中跑出来的数据本身可能存在偏差的,我以前做图像处理时候感觉最明显了,不过具体还是要看你是做的什么运算 |
4 acros 2015 年 7 月 3 日 内存泄漏、多线程错误 |
5 loversInJapan OP @visonme 基本上没做什么运算,搞不懂的是同一个程序,同一个环境为什么会出现这种错误,难到跟系统的稳定相关?? |
6 Septembers 2015 年 7 月 3 日 @loversInJapan 没有重新编译? |
7 loversInJapan OP @acros 用的是智能指针,多线程错误的话,今天早上就不能跑出来了吧。。 |
8 loversInJapan OP @Septembers 今天再跑的时候没有,昨晚重新编译了好多次 |
9 ilotuo 2015 年 7 月 3 日 via Android 最有可能程序哪个地方指针乱了 |
10 zcbenz 2015 年 7 月 3 日 某个变量没初始化,或者race condition。 |
11 aisk 2015 年 7 月 3 日 这种情况很大原因是某个变量没初始化,然后之前那个地方刚好有其他数据,导致运行出错,今天刚好没数据,运行结果没问题。 |