GetTickCount是以毫秒为单位计算从开机到现在的时间,如果时间长了,超过49.71天就会溢出,溢出以后会怎么样?出错?清零?还是?如果长时间使用的话,该注意哪些问题呢?怎么避免溢出呢?可以人工操作清零吗?

解决方案 »

  1.   

    加一个变量,intDay, 记录天数满一天GetTickCount清零,intday加1用GetTickCount、intday共同计算差值
      

  2.   

    你管怎么清?
    如果把溢出变为不溢出,还清个P
    把数据类型都改为double试试
      

  3.   

    http://topic.csdn.net/u/20091028/14/6405c3cc-e5ed-4109-bd30-2ae5c89909c5.html?15484我想做的是长时间采集数据,并且做到时间上的精确
      

  4.   

    我也和你有过同样的烦恼,现在是这样处理的,你看看:http://topic.csdn.net/u/20090904/23/4f67382f-a38e-4315-a7bb-80f5bb3ad574.html
      

  5.   

    osQueryPerformanceCounter 函数时间长了不会溢出吗?
      

  6.   

    网上有这么一个说法GetTickCount 函数只有当机器连续使用49.7天后才返回零由此猜测,lz的溢出是由于GetTickCount归零引起的,如果在使用前加判断应该可以避免溢出
      

  7.   

    恩,我用GetTickCount算的是采集间隔,设x为当前的毫秒数,设y为计算时间开始时的毫秒数,设z为两者间隔,if x>=0 then 
     z=x-y
    else
     if y<0 then 
       z=|x-y|
     else
       z=|x+y|
     end if目前用的是这种办法
    end if