扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#include stdio.h
成都创新互联成都网站建设定制网站,是成都网站设计公司,为成都混凝土搅拌罐车提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站维护热线:18982081108
#include time.h
int main( )
{
long start,end;
start = clock();
//测试的程序段
end = clock();
printf("%ld\n",start-end);//单位:毫秒
return 0;
}
int main()
{
int TimeStart = GetTickCount();
Sum();//这个是你要调用的函数
int TimeEnd = GetTickCount();
int Time = TimeEnd - TimeStart;
//Time的值 就是调用Sum()函数所用的时间
}
简单的写了一下,希望能帮到你
如下定义clock_t变量start 和end start=clock();开始计时end=clock();结束计时,
printf("\ntime is %5.2f",difftime(end,start));输出。 注意头文件。
由于计算很快,数组维数太小 运行时间一般为0,取维数大一点才能计算出时间
不同机器上时间一般不同。
#includetime.h
#includeconio.h
#includedos.h
#includestdio.h
main()
{clock_t start,end; //计算时间
int a[10000];
int temp,min;
for(int i=0;i10000;i++) //数组赋值
a[i]=10000-i;
start=clock(); //开始
for(i=0;i10000;i++) //排序
{ for(int j=i+1;j10000;j++)
{if(a[i]=a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}
}
end=clock();//结束计时
for(int m=0;m10000;m++)//输出
printf(" %d",a[m]);
printf("\ntime is %5.2f",difftime(end,start));//输出时间
getch();
}
clock()函数,计算代码消耗的cpu时间,一般用处不大
time()函数,获取系统时间,许多依赖于time()计算超时的程序,在修改系统时间后一般都不能正常运行。
因此本人推荐:
windows下:计算绝对时间QueryPerformanceCount/QueryPerformanceFrequency.
cpu脉冲计数/ cpu频率,获得开机以来的秒数。
当然,这两个函数获得时间精度是很高的(us级别),只是我们一般用不到这么精确。
linux下:
#include sys/sysinfo.h
调用sysinfo()获得系统启动以来经历的秒数时间。这个不属于高精度计时。
如果要进行高精度计时,高精度时间,C运行库的gettimeofday().(当然据我估计也是受到系统更改时间的影响)。
用绝对时间判断系统时间有没有被更改,用高精度时间精确计时,二者结合才是王道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流