Windows高精度时间函数

这个计时函数主要是通过tick数和tick频率来进行时间测量的。

1
2
3
4
5
6
7
8
9
10
11
12
LARGE_INTEGER secfreq;
QueryPerformanceFrequency(&secfreq); //获取每秒的tick,即tick频率
double msfreq;
msfreq = secfreq.QuadPart / 1000.0; //每毫秒的tick数
LARGE_INTEGER lastTick;
QueryPerformanceCounter(&lastTick); //获得最后一次tick计数
// do something...
LARGE_INTEGER curTick;
QueryPerformanceCounter(&curTick); //获得最后一次tick计数
printf("%lf ms", (curTick.QuadPart-lastTick.QuadPart) / msfreq);