LARGE_INTEGER beginTime = {0};
QueryPerformanceFrequency(&beginTime);
//电脑CPU时钟频率
double pcFreq = (double)beginTime.QuadPart/1000000.0;
QueryPerformanceCounter(&beginTime);
//...do sth.
LARGE_INTEGER endTime = {0};
QueryPerformanceCounter(&endTime);
//那么下面计算得出的就是这之间的时间间隔了,单位为微秒
(endTime.QuadPart - beginTime.QuadPart)/pcFreq;
如需毫秒,将下面的
double pcFreq = (double)beginTime.QuadPart/1000000.0;
改为
double pcFreq = (double)beginTime.QuadPart/1000.0;
就可以了
同样秒的话去掉后面除的部分
本文介绍了一种使用LARGE_INTEGER类型变量配合QueryPerformanceCounter与QueryPerformanceFrequency函数来精确测量CPU时间间隔的方法,支持微秒、毫秒及秒级别的时间精度转换。
2082

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



