我已经阅读了几个具有相同标题的论坛,尽管我所追求的并不是找出我的计算机执行该程序需要多长时间的方法。
我有兴趣了解用户使用该程序的时间。我查看了 #include <time.h>
里面的几个函数然而,似乎这些函数(如clock_t)给出了我的计算机执行我的代码所需的时间,这不是我想要的。
感谢您的宝贵时间。
编辑:
我已经完成了:
clock_t start, stop;
long int x;
double duration;
start = clock();
//code
stop = clock(); // get number of ticks after loop
// calculate time taken for loop
duration = ( double ) ( stop - start ) / CLOCKS_PER_SEC;
printf( "\nThe number of seconds for loop to run was %.2lf\n", duration );
我从程序中收到 0.16,但是,当我计时时,我得到了 1 分 14 秒。这怎么可能加起来?
最佳答案
clock
函数计算使用的 CPU 时间,而不是耗时。对于 100% CPU 密集型的程序,clock
报告的时间将接近实际时间,但除此之外它可能会更少——通常要少得多。
测量耗时或“挂钟”时间的一种简单方法是使用 time
函数:
time_t start, stop;
start = time(NULL);
// code
stop = time(NULL);
printf("The number of seconds for loop to run was %ld\n", stop - start);
不过,这是一个 POSIX 函数——它不是核心 C 标准的一部分,而且它可能不存在于 C 的嵌入式版本中。
关于c - 在C中使用定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50672145/