c - 在C中使用定时器

标签 c timer

我已经阅读了几个具有相同标题的论坛,尽管我所追求的并不是找出我的计算机执行该程序需要多长时间的方法。 我有兴趣了解用户使用该程序的时间。我查看了 #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/

相关文章:

c - 从C中的文件描述符中检索文件名

PHP (ZLIB) 解压缩 C (ZLIB) 压缩数组会返回乱码

c - 高斯模糊、均值滤波器、卷积

c# - System.Threading.Timer 不连续

c - 循环内的 fgets C

c - 如何在格式化字符串上使用 strlen()?

ios - 带有通知问题的 Swift 暂停和重新创建计时器

javascript - 如何拥有一个无法在 javascript 中修改的计时器?

delphi - 如何等待 TTimer 完成?

Matlab GUI 秒表