C++简单计时器类(修改自boost程序库)

 1 /*- ==========================================================
 2 *     文件名  :CTimer.h
 3 *     开发人员:袁培荣
 4 *     当前版本:1.0.0.2595
 5 *     创建时间:2012-05-15
 6 *     修改时间:2012-05-15
 7 *     功能说明:简单计时器类(修改自boost程序库)
 8 *     版权说明:版权所有 袁培荣 YuanPeirong 
 9 *     编译环境:Windows 7(x64) SP1 简体中文专业版
10 *     编译器:  Visual Studio 2010 SP1(中文旗舰版)
11                 MinGW 20111108
12                 Visual C++ 6.0 SP6(中文企业版)
13 - ==========================================================*/
14 
15 #ifndef CTimer_H_TYCppStdLib
16 #define CTimer_H_TYCppStdLib
17 
18 #ifdef CTimer_DLL_API
19 #else
20 #define CTimer_DLL_API _declspec(dllimport)
21 #endif
22 
23 #include <ctime>
24 
25 using std::clock_t; 
26 using std::clock;
27 
28 namespace TYCppStdLib
29 {   
30     class CTimer_DLL_API CTimer
31     {
32     private:
33         std::clock_t startTime;
34     public:
35         CTimer();        //构造函数,启动计时
36         virtual ~CTimer();                 //析构函数,为扩展预留,为空函数
37         virtual void Restart();          //重新开始计时
38         virtual double Elapsed() const;    //返回计时时长,单位为秒 
39         virtual double ElapsedMax() const; //返回最大可计时间
40         virtual double ElapsedMin() const; //返回最小可计时间(计时精度)
41     };
42 }
43 
44 #endif

 

 1 /*- ==========================================================
 2 *     文件名  :CTimer.cpp
 3 *     开发人员:袁培荣
 4 *     当前版本:1.0.0.2595
 5 *     创建时间:2012-05-15
 6 *     修改时间:2012-05-15
 7 *     功能说明:简单计时器类(修改自boost程序库)
 8 *     版权说明:版权所有 袁培荣 YuanPeirong 
 9 *     编译环境:Windows 7(x64) SP1 简体中文专业版
10 *     编译器:  Visual Studio 2010 SP1(中文旗舰版)
11                 MinGW 20111108
12                 Visual C++ 6.0 SP6(中文企业版)
13 - ==========================================================*/
14 
15 #ifndef CTimer_DLL_ForAPI
16 #define CTimer_DLL_ForAPI
17 
18 #define CTimer_DLL_API _declspec(dllexport)
19 
20 #endif
21 
22 #include <limits>
23 #include "http://www.cnblogs.com/Include/DateAndTime/CTimer.h"
24 
25 
26 
27 //构造函数,启动计时
28 TYCppStdLib::CTimer::CTimer()
29 {
30     startTime = std::clock();
31 }
32 
33 //析构函数,为扩展预留,为空函数                            
34 TYCppStdLib::CTimer::~CTimer()
35 {
36     //空函数
37 }
38 
39 //重新开始计时                  
40 void TYCppStdLib::CTimer::Restart()
41 {
42     startTime = std::clock();
43 }
44 
45 //返回计时时长,单位为秒          
46 double TYCppStdLib::CTimer::Elapsed() const
47 {
48     return double(std::clock()-startTime)/CLOCKS_PER_SEC;
49 }
50 
51 //返回最大可计时间    
52 double TYCppStdLib::CTimer::ElapsedMax() const
53 {
54     return (double((std::numeric_limits<std::clock_t>::max)())
55             - double(startTime))/double(CLOCKS_PER_SEC); 
56 }
57 
58 //返回最小可计时间(计时精度) 
59 double TYCppStdLib::CTimer::ElapsedMin() const
60 {
61     return double(1)/double(CLOCKS_PER_SEC);
62 }

 

posted @ 2012-05-16 01:33  天远  阅读(781)  评论(0)    收藏  举报

版权所有 © 2010-2020 YuanPeirong TianYuan All Rights Reserved. Powered By 天远