您的位置:首页 > 其它

boost::timer 的替代方案

2010-05-13 16:32 274 查看
作者:吴尔平
转自:/article/5168993.html

浅尝boost之timer的post里,我提到boost::timer在linux和windows下的不同表现,并用ACE_OS::gettimeofday做了一个替代方案。不过,为了这个功能把ACE的DLL绑到一起,感觉不是那么愉快。

下面是另一个方案,利用boost::date_time库来解决

#include <boost/date_time/posix_time/posix_time.hpp>
class ElapsedTime
{
public:
ElapsedTime(): start_time_(boost::posix_time::microsec_clock::local_time())
{
}

~ElapsedTime()
{
}

void restart()
{
start_time_ = boost::posix_time::microsec_clock::local_time();
}

double Elapsed()
{
boost::posix_time::time_duration d = boost::posix_time::microsec_clock::local_time() - start_time_;
double result = d.ticks();
return result /= d.ticks_per_second();
}

private:
boost::posix_time::ptime start_time_;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: