boost::timer 的替代方案
2010-05-13 16:32
393 查看
作者:吴尔平
转自:/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_;
};
转自:/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_;
};
相关文章推荐
- boost::timer 的替代方案
- boost::timer 的替代方案
- boost::timer 的替代方案
- android中 timer的替代方案!
- (转)iOS5:[UIDevice uniqueIdentifier]的替代方案
- Jquery-zTree替代ExtJS-Tree的实现方案
- Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
- 第二章 第六节 Eclipse的替代方案
- c++ boost--------------boost::progress_timer小试。
- Boost之时间处理(timer库)
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
- 中小企业基于Windows计算环境的软件开源或免费替代方案
- 200+ 行内核补丁的替代方案
- 用Docker作为PaaS的替代方案是否完美无缺
- boost之时间timer
- 图片替代方案Data URI
- SQLServer 优化SQL语句 in 和not in的替代方案
- HashMap死锁原因及替代方案