timer.h
来自「关于远程网络监视程序的源码」· C头文件 代码 · 共 52 行
H
52 行
#pragma once
// a very precise time class, use CPU core frequency to measure tick
class CMediaTimer
{
public:
CMediaTimer()
{
m_bInitialized = QueryPerformanceFrequency( (LARGE_INTEGER *)&m_lnFrequency );
m_lnStartTime = 0;
m_bTimerStarted = false;
}
// start timer
void Start()
{
if( m_bInitialized && QueryPerformanceCounter( (LARGE_INTEGER *)&m_lnStartTime ) )
{
m_bTimerStarted = true;
}
return ;
}
// stop timer and return time
double Stop()
{
if( !m_bTimerStarted )
return 0.0;
unsigned __int64 lnEndTime, lnElapsedTime;
if( QueryPerformanceCounter( (LARGE_INTEGER *)&lnEndTime ) )
{
lnElapsedTime = lnEndTime - m_lnStartTime;
}
else
{
lnElapsedTime = 0;
}
// give a millisecond precision
return ( (double)lnElapsedTime / (double)m_lnFrequency * 1000.0 );
}
private:
BOOL m_bInitialized;
bool m_bTimerStarted;
unsigned __int64 m_lnFrequency;
unsigned __int64 m_lnStartTime;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?