前言
这个功能由项目调试所需,程序中定义了一个定时器,50ms执行一段代码,但是实际效果感觉并不是50ms处理一次,于是在代码中加入后面那段程序,用来查看每次执行时电脑计数为多少,结果确实如我所想,虽然设置50ms执行一次,但实际上二三百毫秒才执行一次。
头文件
#include<windows.h>
函数封装
double queryTime()
{
LARGE_INTEGER litmp;
LONGLONG QPart;
double dfFreq, dfTim;
QueryPerformanceFrequency(&litmp);
dfFreq = (double)litmp.QuadPart;//获取电脑频率,单位HZ
QueryPerformanceCounter(&litmp);
QPart = litmp.QuadPart;
dfTim = 1000 * QPart / dfFreq;//单位ms
return dfTim;
}
调用
printf("%f/n", queryTime());
如果使用C++输出流,为避免输出科学计数,可手动设置输出小数点后几位数:
cout << fixed<<setprecision(1)<<queryTime();
此为输出小数点后1位。
需头文件
#include<iomaip>