39 lines
731 B
C++
39 lines
731 B
C++
|
#include "cTimer.h"
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#include <Windows.h>
|
||
|
#else
|
||
|
#include <sys/time.h>
|
||
|
#include <time.h>
|
||
|
#endif
|
||
|
|
||
|
cTimer::cTimer()
|
||
|
#ifdef _WIN32
|
||
|
: m_TicksPerSecond( new LARGE_INTEGER )
|
||
|
#endif
|
||
|
{
|
||
|
#ifdef _WIN32
|
||
|
QueryPerformanceFrequency( (LARGE_INTEGER*)m_TicksPerSecond );
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
cTimer::~cTimer()
|
||
|
{
|
||
|
#ifdef _WIN32
|
||
|
delete (LARGE_INTEGER*)m_TicksPerSecond;
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
long long cTimer::GetNowTime()
|
||
|
{
|
||
|
#ifdef _WIN32
|
||
|
LARGE_INTEGER now;
|
||
|
QueryPerformanceCounter( &now );
|
||
|
LARGE_INTEGER & tps = *((LARGE_INTEGER*)m_TicksPerSecond);
|
||
|
return ((now.QuadPart*1000) / tps.QuadPart );
|
||
|
#else
|
||
|
struct timeval now;
|
||
|
gettimeofday(&now, NULL);
|
||
|
return (long long)(now.tv_sec*1000 + now.tv_usec/1000);
|
||
|
#endif
|
||
|
}
|