1)类的实现
#ifndef CPRECISETIMER_H
#define CPRECISETIMER_H
#include <windows.h>
class CPreciseTimer
{
public:
CPreciseTimer();
bool SupportsHighResCounter();
void StartTimer();
void StopTimer();
__int64 GetTime();
private:
//Auxiliary Function
void UpdateElapsed();
//Member variables
bool m_bRunning;
__int64 m_i64Start;
__int64 m_i64Elapsed;
//Some auxiliary variables
__int64 m_i64Counts;
LARGE_INTEGER m_liCount;
//Static Variables
static bool sm_bInit;
static bool sm_bPerformanceCounter;
static __int64 sm_i64Freq;
};
inline bool CPreciseTimer::SupportsHighResCounter()
{
return sm_bPerformanceCounter;
}
//Auxiliary Function
inline void CPreciseTimer::UpdateElapsed()
{
if(true == sm_bPerformanceCounter)
{
QueryPerformanceCounter(&m_liCount);
m_i64Counts = ((__int64)m_liCount.HighPart << 32) + (__int64)m_liCount.LowPart;
//Transf

本文介绍了C++类CPreciseTimer,它支持高分辨率计时器和毫秒计时,提供StartTimer(),StopTimer()和GetTime()方法,用于精确测量时间间隔。
最低0.47元/天 解锁文章
7916

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



