运行环境:Windows,VC++6.0
需要微妙级别的童鞋直接看第三种!!!
1.精确到秒,计时单位为秒
头函数:
#include<time.h>
开始时间:
/* 长整形数据,time_t为time.h 中的宏定义,原型为 #define long time_t */
time_t start_time,end_time;
/*记录程序开始的时间*/
start_time=time(NULL);
结束时间:
/*记录程序结束的时间*/
end_time=time(NULL);
/* difftime 为时间差函数,可返回秒数 */
printf("程序执行时间为%f/n",difftime(end_time,start_time));
2.精确到毫秒,计时单位为毫妙
头函数:
#include<time.h>
开始时间:
double cost_time;
clock_t start,end;
start=clock();
结束时间:
end=clock();
cost_time=(double)(end-start)/CLOCKS_PER_SEC);
printf("程序执行时间为%f",cost_time);
3.精确到微秒,计时单位为微秒
头函数:
#include"windows.h"
开始时间:
LARGE_INTEGER nFreq;
LARGE_INTEGER nBeginTime,nEndTime;
double time;
QueryPerformanceFrequency(&nFreq);
QueryPerformanceCounter(&nBeginTime);
结束时间:
QueryPerformanceCounter(&nEndTime);
time=(double)(nEndTime.QuadPart-nBeginTime.QuadPart)/(double)nFreq.QuadPart;
printf("执行时间为%f微妙\n",time);
原理参见:QueryPerformanceFrequency用法