c++封装系统time函数,方便实现运行时间的打印
2017-05-12 19:58
489 查看
//timer.h
#include <time.h> class Timer { public: Timer(); ~Timer(); bool start(); bool pause(bool is_reset); size_t get_sec_timespan() const; size_t get_msec_timespan() const; size_t get_usec_timespan() const; size_t get_nsec_timespan() const; private: size_t _get_timespan(size_t sec_power, double nsec_power) const; private: struct timespec _beg_time; struct timespec _end_time; };以下是cpp实现文件
#include "timer.h" Timer::Timer() {} Timer::~Timer() {} bool Timer::start() { if (clock_gettime(CLOCK_REALTIME, &_beg_time) == -1) { printf("get time failed."); return false; } return true; } bool Timer::pause(bool is_reset) { if (is_reset) { _beg_time = _end_time; } if (clock_gettime(CLOCK_REALTIME, &_end_time) == -1) { printf("get time failed."); return false; } return true; } size_t Timer::get_sec_timespan() const { return _get_timespan(1, 0.000000001); } size_t Timer::get_msec_timespan() const { return _get_timespan(1000, 0.000001); } size_t Timer::get_usec_timespan() const { return _get_timespan(1000000, 0.001); } size_t Timer::get_nsec_timespan() const { return _get_timespan(1000000000, 1); } size_t Timer::_get_timespan(size_t sec_power, double nsec_power) const { double span = (_end_time.tv_sec - _beg_time.tv_sec) * sec_power + (_end_time.tv_nsec - _beg_time.tv_nsec) * nsec_power; return static_cast<size_t>(span); }
相关文章推荐
- C++封装hook,为了实现系统hook
- C++高精度实现计算程序运行时间
- C++实现有向权图的基本操作,界面友好,操作方便,运行流畅
- 截取系统时间C++实现
- C++实现链式栈,运用模板,界面友好,操作方便,运行流畅
- C++实现计算程序运行时间 高精度
- c++实现显示系统当前时间
- C++实现有向权图的基本操作,界面友好,操作方便,运行流畅
- C++实现链式栈,运用模板,界面友好,操作方便,运行流畅
- c++封装链表实现-->学生信息管理分析系统
- C++高精度实现计算程序运行时间
- C++实现调用系统时间简单示例
- C/C++中系统时间的实现
- C++实现有向权图的基本操作,界面友好,操作方便,运行流畅
- C++实现计算程序运行时间 高精度
- linux shell脚本实现:每10秒打印一次系统时间,连续打印10次
- Cocos2d-x中用C++获取当前系统时间,实现跨平台
- C或C++调用Windows系统函数 实现延时 或 获取当前时间的处理
- C++实现树的基本操作,界面友好,操作方便,运行流畅,运用模板
- C++实现二叉树,运用模板,界面友好,操作方便 运行流畅