gettickcount溢出处理
时间: 2023-07-28 07:02:17 浏览: 247
VC图像处理——界面设计及总结.
GetTickCount是一个用来计算自系统启动以来经过的毫秒数的函数。根据系统的运行时间,GetTickCount会在达到最大值时重新从0开始计数,这会导致计时器溢出。
为了正确处理GetTickCount的溢出,可以使用以下方法:
1. 利用DWORD变量保存上一次的TickCount值。在每次调用GetTickCount之后,将返回的值与上一次保存的值进行比较。如果返回值比上一次保存的值小,说明发生了溢出,可以通过将返回值加上UINT_MAX来得到正确的时间。如果返回值比上一次保存的值大或相等,说明时间还未溢出,可以直接使用返回值作为经过的毫秒数。
2. 使用GetTickCount64函数代替GetTickCount函数。GetTickCount64是Windows Vista及更高版本提供的函数,它返回从系统启动到当前时间经过的毫秒数,并且将计时器的值保存为64位无符号整数。由于64位整数的范围更大,所以无需担心溢出问题。
以上是处理GetTickCount溢出的两种常用方法。根据特定的需求和系统环境,可以选择适合的方法来处理溢出问题,以确保正确计算经过的时间。
阅读全文