📄 calculagraph.h
字号:
#pragma once
class CCalculagraph
{
public:
CCalculagraph(void)
{
}
~CCalculagraph(void)
{
}
protected:
// CPU计数
LARGE_INTEGER m_liCPUCount;
// 时钟频率
double m_dClockRate;
// 经过的时间
double m_dElapsedTime;
public:
// 开始计时
inline void Start()
{
// 获得时钟频率
QueryPerformanceFrequency( &m_liCPUCount );
m_dClockRate = (double)m_liCPUCount.QuadPart;
// 获得CPU计数
QueryPerformanceCounter( &m_liCPUCount );
// 经过的时间清零
m_dElapsedTime = 0.0;
}
// 暂停
inline void Pause(bool pause = true)
{
static LONGLONG QPart1, QPart2;
if(pause)
{
// 获得初始计数值
QPart1 = m_liCPUCount.QuadPart;
// 获得终止计数值
QueryPerformanceCounter( &m_liCPUCount );
QPart2 = m_liCPUCount.QuadPart;
// 平均时钟频率
QueryPerformanceFrequency( &m_liCPUCount );
m_dClockRate = (m_dClockRate + m_liCPUCount.QuadPart) / 2.0;
// 计算时间
m_dElapsedTime += (QPart2 - QPart1) / m_dClockRate;
}
else
{
// 获得时钟频率
QueryPerformanceFrequency( &m_liCPUCount );
m_dClockRate = (double)m_liCPUCount.QuadPart;
// 获得CPU计数
QueryPerformanceCounter( &m_liCPUCount );
}
}
// 取得描述
inline CString Describe()
{
static CString s;
static long day, hour, min, sec;
sec = (long)m_dElapsedTime;
min = sec / 60;
hour = min / 60;
day = hour / 24;
/*s.Format("[%02ld-%02ld:%02ld'%02ld.%06.0lf\"]",
day, hour % 24, min % 60, sec % 60,
(m_dElapsedTime - sec) * 1000000.0);*/
s.Format("[%ld.%06.0lf\"]",
sec % 60, (m_dElapsedTime - sec) * 1000000.0);
return s;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -