在MSDN中,查得对clock函数定义如下:
clock_t clock(void) ;
返回该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。
其中clock_t是用来保存时间的数据类型,它的定义如下
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
在time.h文件中,还定义了一个常量CLOCKS_PER_SEC ,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。
可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
clock_t start, end;
double clockTime;
start = clock();
....functions.....
end = clock();
clockTime = ((double) (end - start))/CLOCKS_PER_SEC;