GetTickCount function limit The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if the system is run continuously for 49.7 days. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 how to do with the limit? Just forget it at most time. 没有了,只是一个精度限制问题,可以参见MSDN中的Multimedia Timers ULONG Start = GetTickCount();....ULONG End = GetTickCounts();ULONG Dif = (End >= Start) ? End - Start : End + (0xffffffff - Start); 老A,End >= Start,仍有可能运行了超过49.7天。 GetTickCount的确只能用于简单的,过程式的方面。DWORD溢出是死问题,无解上面的方法仅仅是为了解决一个问题:void Func(){ ULONG Start = GetTickCount(); .... <<--- system wrap time counter to zero ULONG End = GetTickCounts(); ULONG Dif = (End >= Start) ? End - Start : End + (0xffffffff - Start); }也就是说,取start 和取end 之间正好处于49。7天的交界点,这样运算就错了,大多数函数不可能运行49。7天这么长的时间,我们不操心这个问题了。 求教使用任务管理器终止进程的过程 问题应该是这样的:::: 一个解决方案下多项目怎么选择运行 如何制作桌面秀效果 贴出全部程序请好心的朋友和高手帮我检查并改正错误(Raw Sockets编写的发送、接受和解析数据包) 一个小问题 请各位帮忙查看一下问题出在哪里 软件的模块怎么划分呢?我接受到一个项目后,往往不知道怎么把它分块,苦恼。 线程的问题 传送文件时如发送方停止传送,接受方如何知道?问题只要能解决小弟愿为您缴50元话费作为酬谢。 需要电子书的找我吧! CFile link 出错
....ULONG End = GetTickCounts();ULONG Dif = (End >= Start) ? End - Start : End + (0xffffffff - Start);
上面的方法仅仅是为了解决一个问题:void Func()
{
ULONG Start = GetTickCount();
.... <<--- system wrap time counter to zero
ULONG End = GetTickCounts();
ULONG Dif = (End >= Start) ? End - Start : End + (0xffffffff - Start);
}也就是说,取start 和取end 之间正好处于49。7天的交界点,这样运算就错了,大多数函数不可能运行49。7天这么长的时间,我们不操心这个问题了。