GetTickCount64
时间: 2024-11-03 18:08:28 浏览: 45
解决GetTickCount长期不关机时间溢出问题
4星 · 用户满意度95%
`GetTickCount64()` 是 Windows 平台上的一个函数,它用于获取高精度的时间戳,返回值为 `uint64_t` 类型,代表毫秒数。与 `GetTickCount()` 不同,`GetTickCount()` 的返回值受限于 `uint32_t`(最大值约2^32),大约49.71天就会出现计数溢出现象。相比之下,`GetTickCount64()` 提供了一个更长的计数周期,大约可以持续5.8亿年才需要重新计数,这使得它在长时间计时任务中更为可靠。
如果你需要一个精确到毫秒的高精度时间测量,特别是在可能需要长期追踪时间差的应用中,`GetTickCount64()` 是一个更好的选择。以下是一个简单的示例:
```cpp
#include <windows.h>
#include <iostream>
ULONGLONG GetTickCount64()
{
return static_cast<ULONGLONG>(GetTickCount64());
}
int main()
{
ULONGLONG t1 = GetTickCount64();
// 进行其他操作...
ULONGLONG t2 = GetTickCount64();
std::cout << "Time difference in milliseconds: " << (t2 - t1) << "\n";
return 0;
}
```
这个函数直接返回一个64位的毫秒数,你可以用来计算两个时间点之间的差距。
阅读全文