获取VC/MFC程序的运行时间

C++中的计时函数是clock(),而与其相关的数据类型是clock_t(头文件是time.h)。函数定义原型为:clock_t clock(void);

  这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数在MSDN中称之为 挂钟时间(wal-clock)

  其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
   #ifndef _CLOCK_T_DEFINED
   typedef long clock_t;
   #define _CLOCK_T_DEFINED
   #endif
  很明显,clock_t是一个长整形数。另外在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,因此,我们就可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间。

下面用MFC工程演示一下

新建一个工程,名字为myDlg的基于对话框的程序,在头文件中加入下列代码:

clock_t projstart,projfinish;

在构造函数中加入下列代码:

projstart=projfinish=0;
    projstart=clock();

在OnClose()函数中加入下列代码:

projfinish=clock();
    CString porjtime;
    porjtime.Format(_T("%d"),(projfinish-projstart)/CLOCKS_PER_SEC);
    MessageBox(porjtime);

就能够只得你的程序运行时间是多少秒,要是想精确到毫秒级,则需要将程序改为:

porjtime.Format(_T("%.3f"),(double)(projfinish-projstart)/CLOCKS_PER_SEC);

 

另外:C++中有一个获取时间的函数time(0),这个获取的时间一般是13******表示的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值