求C语言程序:如何获得一个程序运行的时间? 最好带一段简单的代码 新人学不懂 呵呵 谢谢大家啦

如题所述

clock()函数,计算代码消耗的cpu时间,一般用处不大
time()函数,获取系统时间,许多依赖于time()计算超时的程序,在修改系统时间后一般都不能正常运行。
因此本人推荐:
windows下:计算绝对时间QueryPerformanceCount/QueryPerformanceFrequency.
cpu脉冲计数/ cpu频率,获得开机以来的秒数。
当然,这两个函数获得时间精度是很高的(us级别),只是我们一般用不到这么精确。
linux下:
#include <sys/sysinfo.h>
调用sysinfo()获得系统启动以来经历的秒数时间。这个不属于高精度计时。
如果要进行高精度计时,高精度时间,C运行库的gettimeofday().(当然据我估计也是受到系统更改时间的影响)。
用绝对时间判断系统时间有没有被更改,用高精度时间精确计时,二者结合才是王道。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-03
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
void my_subroutine(long n) {
// timing a subroutine call:
char s[16];
for (long i = 0; i < n; i++) {
_itoa(i, s, sizeof(s));
}
}
int main(int argc, char* argv[]) {
long n = 1000000;
clock_t start = clock(); //记录开始时间
my_subroutine(n); //调用函数,花费时间
clock_t finish = clock(); //结束时间
double duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("Time for %d iterations: %lf s",n,duration);
return 0;
}本回答被提问者采纳
第2个回答  2013-04-03
用time.h头文件中的时间函数
time_t time(time_t *tp);
其中time_t是unsigned long,显示从GMT1970年1月1日00:00:00开始的秒数
函数作用:以秒为单位将传值调用的参数的值设置为系统时间,返回值也是系统时间

例:
#include <time.h>
#include <stdio.h>
int main()
{
time_t t,t2;
t=time(&t);
...//程序段
t2=time(&t2);
printf("程序运行时间%ld秒",t2-t);
return 0;
}
第3个回答  2013-04-03
clock()函数测试当前程序所使用的处理时间
#include "stdio.h"
#include "time.h"
#include<iostream>
using namespace std;
int main()
{
clock_t start,stop;
double result;
long i=999999999L;
start=clock();
while(i)
i--;
stop=clock();
result=(double)(stop-start)/CLOCKS_PER_SEC;
cout<<result<<"\n";
}

求C语言程序:如何获得一个程序运行的时间? 最好带一段简单的代码 新人...
time()函数,获取系统时间,许多依赖于time()计算超时的程序,在修改系统时间后一般都不能正常运行。因此本人推荐:windows下:计算绝对时间QueryPerformanceCount\/QueryPerformanceFrequency.cpu脉冲计数\/ cpu频率,获得开机以来的秒数。当然,这两个函数获得时间精度是很高的(us级别),只是我们一般用不到这么精确。

C语言求一个程序运行时间
所以,可以用clock函数来计算的运行一个循环、程序或者处理其它事件到底花了多少时间,具体参考代码如下:include “stdio.h”#include “stdlib.h”#include “time.h”int main( void ){ long i = 10000000L; clock_t start, finish; double duration; \/* 测量一个事件持续的时间...

怎样用c语言设计计算程序执行的时间?
C语言中的头文件time.h中定义了库函数clock(),它返回的是从程序运行开始算起的时间,一时钟周期为单位,time.h还定义了符号:CLOCKS_PER_SEC,即一秒钟的时钟周期。这样就简单了,在头文件中加入#include,在程序main()主函数的开头定义long now=0;并给把clock()赋值给now,即now=clock()...

单片机c语言怎么记录程序运行时间
1、debug中查看运行时间。这个好像不太准确。2、反汇编后,通过指令周期和晶振频率计算。3、程序中加入定时器中断程序,来计算程序运行时间。看到你的问题,暂时就想起这么多。

求C语言运行时间测试代码!
include include<stdio.h> include<stdlib.h> void main(void){ clock_t start,finish;double duration;start = clock();\/\/ \/\/被测时间的随便什么东西 \/\/ finish = clock();duration = double(finish - start)\/CLOCKS_PER_SEC;printf("time used:%f ms\\n\\n",1000*duration);} ...

学好C语言要多久时间?
学习C十十编程,可以根据个人情况而定,如果有一定的基础,大概至少需要一个月的时间;如果是初学者,大概需要两个月的时间。1、学习目标与基础知识:在开始学习C语言编程之前,需要明确自己的学习目标并了解一些基础知识。如果之前没有接触过编程,可能需要花费一些额外时间来熟悉计算机的基本操作和术语。2、...

编写一个简单的C语言程序,在屏幕上显示一行时间(包含小时、分钟和秒钟...
include <stdlib.h> include <string.h> int main(){ time_t timep,Tim;struct tm *p;time(&timep);p = localtime(&timep); \/\/此函数获得的tm结构体的时间,是已经进行过时区转化为本地时间 \/\/p = gmtime(&timep); \/\/把日期和时间转换为格林威治(GMT)时间的函数 int Year = 1900 ...

vc ++获取程序执行时间时间
\/\/这里运行你的程序代码 DWORD dwEnd = timeGetTime();则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位 虽然返回的值单位应该是ms,但传说精度只有10ms。3 用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。clock_t clock ( void );i...

C语言中 如何获取系统时间
printf("%d\\n",8+p->tm_hour);\/*获取当前时,这里获取西方的时间,刚好相差八个小时*\/ printf("%d\\n",p->tm_mday);\/*获取当前月份日数,范围是1-31*\/ printf("%d\\n",1+p->tm_mon);\/*获取当前月份,范围是0-11,所以要加1*\/ printf("%d\\n",1900+p->tm_year);\/*获取当前年份,...

C语言中如何获取当前系统时间的小时?
程序主要通过当前系统日历的struct tm结构体获得,主要代码如下,\\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0a\/\/程序功能输出当前时间在24H下的小时数 \\x0d\\x0aint main(int argc, char *argv[])\\x0d\\x0a{\\x0d\\x0astruct tm *ptr;\\x0d\\x0atime_t lt;\\x0d\\x0atime(<);\/\/当前...

相似回答