对于精确度要求更高的定时操作,应该使用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 ;
- }