对于精确度要求更高的定时操作,应该使用QueryPerformanceFrequency()和 QueryPerformanceCounter()函数。这两个函数是仅供Windows 95及其后续版本使用的精确时间函数,并要求计算机从硬件上支持精确定时器。
示例:
- #include <iostream>
- #include <windows.h>
- using namespace std;
- void Test()//测试程序
- {
- for(int i=0; i<1000; i++)
- {
- for(int j=0; j<100; j++)
- {
- printf("%d,%d/n",i,j);
- }
- }
- }
- int main(void)
- {
- LARGE_INTEGER BegainTime ;
- LARGE_INTEGER EndTime ;
- LARGE_INTEGER Frequency ;
- QueryPerformanceFrequency(&Frequency);
- QueryPerformanceCounter(&BegainTime) ;
- //要测试的代码放在这里
- Test();
- QueryPerformanceCounter(&EndTime);
- //输出运行时间(单位:s)
- cout << "运行时间(单位:s):" <<(double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart <<endl;
- system("pause") ;
- return 0 ;
- }
本文介绍了一种在Windows系统中实现高精度定时的方法,通过使用QueryPerformanceFrequency()和QueryPerformanceCounter()函数,能够获取到更为精确的时间间隔。这种方法适用于需要进行高精度计时的应用场景。
281

被折叠的 条评论
为什么被折叠?



