clock函数异常
公司程序发现有bug,这个bug在部分设备上不会出现,但在另一部分设备上可以复现,
请大家帮我分析下.
在一个线程中,使用了time.h中的函数,clock();获取时间,用来做条件.
我查看time.h文件中定义,clock返回值是long型, CLOCKS_PER_SEC是1000.
也就是说clock返回值是自程序启动后的经过的毫秒数.
在线程的while(1)循环中,有sleep(50);sleep(20);sleep(1000);是根据条件来选择的.
问题是,程序启动后大约3秒左右,也就是clock()返回值是30**,clock的返回值突然不正常了,
变成了约从-1161514461(0x453B4DDD)增大的数,当时没有考虑到会发生这样的事情,所以也没有处理.
请问诸位,为什么会发生这种情况呢..
注:在部分机器上(包括我的电脑)上运行都正常.
现在处理的办法是把clock改用了gettickcount()函数