如何使用 QueryPerformanceCounter 确定经过的时间
QueryPerformanceCounter 是适用于 Windows 系统的高分辨率性能计数器 API,可实现精确的计时测量。要实现它,请按照以下步骤操作:
包含必要的标头:
#include <windows.h>
定义性能柜台变量:
实现 StartCounter功能:
实现 GetCounter 函数:
用法示例:
代码代码片段:
double PCFreq = 0.0; __int64 CounterStart = 0; void StartCounter() { LARGE_INTEGER li; if (!QueryPerformanceFrequency(&li)) cout << "QueryPerformanceFrequency failed!\n"; PCFreq = double(li.QuadPart) / 1000.0; QueryPerformanceCounter(&li); CounterStart = li.QuadPart; } double GetCounter() { LARGE_INTEGER li; QueryPerformanceCounter(&li); return double(li.QuadPart - CounterStart) / PCFreq; } int main() { StartCounter(); Sleep(1000); cout << GetCounter() << "\n"; return 0; }
此代码片段输出接近 1000 的值,演示了如何使用 QueryPerformanceCounter 进行精确的计时测量。
以上是如何在 Windows 中使用 QueryPerformanceCounter 准确测量经过的时间?的详细内容。更多信息请关注PHP中文网其他相关文章!