一、clock_t和clock()
在标准C/C++中,最小的计时单位是一毫秒。C/C++在<time.h>中有计时函数clock(),与其相关的数据类型是clock_t。clock函数定义如下:
clock_t clock(void );
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,可以找到它的定义,显然clock_t是一个长整型数。
#ifndef_CLOCK_T_DEFINED
typedef longclock_t;
#define_CLOCK_T_DEFINED
#endif
在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,用来表示一秒钟有多少个时钟计时单元,其定义如下:
#defineCLOCKS_PER_SEC ((clock_t)1000) //CLOCKS_PER_SEC为系统自定义的
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。举例如下,可以用函数clock()/CLOCKS_PER_SEC来计算运行时间:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
clock_t start, finish;
start