#include
LARGE_INTEGER m_freq,m_timeStart,m_timeNow;
QueryPerformanceFrequency(&m_freq);
QueryPerformanceCounter(&m_timeStart);
//double time = (double)m_timeStart.QuadPart / m_freq.QuadPart;
//ui.elapsedTimeLabel->setText(QString::number(time));
Sleep(1000);
QueryPerformanceCounter(&m_timeNow);
double elapsedTime = (double)(m_timeNow.QuadPart - m_timeStart.QuadPart) / m_freq.QuadPart;
ui.elapsedTimeLabel->setText(QString::number(elapsedTime));
LARGE_INTEGER为64位整型数,结构如下
typedef union _LARGE_INTEGER
{
struct
{
DWORD LowPart ;// 4字节整型数
LONG HighPart;// 4字节整型数
};
LONGLONG QuadPart ;// 8字节整型数
}LARGE_INTEGER ;
QueryPerformanceCounter()返回高精度计数器的值,精确到微秒;
QueryPerformanceFrequency()计数频率,每秒滴答次数;
ElapsedTime=(nStopCounter.QuadPart-nStartCounter.QuadPart)/frequency.QuadPart //计算运行时间(秒)