为了定时精度或者程序性能优化,我们需要精度比较高的时间函数,本文结束c,c++的精确定时函数。
下面例子来自:
Acquiring high-resolution time stamps - Win32 apps | Microsoft Learn
LARGE_INTEGER StartingTime, EndingTime, ElapsedMicroseconds;
LARGE_INTEGER Frequency;
StartingTime = KeQueryPerformanceCounter(&Frequency);
// Activity to be timed
EndingTime = KeQueryPerformanceCounter(NULL);
ElapsedMicroseconds.QuadPart = EndingTime.QuadPart - StartingTime.QuadPart;
ElapsedMicroseconds.QuadPart *= 1000000;
ElapsedMicroseconds.QuadPart /= Frequency.QuadPart;
看看:StartingTime = KeQueryPerformanceCounter(&Frequency);
这个函数的结果是 当时的记数值,单位是脉冲数,起点是开机时,Frequency 返回的是频率。
上面代码是个演示&