仅使用ANSI C,有什么方法可以用毫秒精度或更高来度量时间?我在浏览time.h,但我只找到第二个精度函数。
发布于 2018-03-27 10:07:15
没有提供优于1秒时间分辨率的ANSI C函数,但POSIX函数gettimeofday
提供微秒分辨率。时钟功能仅测量进程花费的时间量,并且在许多系统上不准确。
你可以像这样使用这个功能:
struct timeval tval_before, tval_after, tval_result;
gettimeofday(&tval_before, NULL);
// Some code you want to time, for example:
sleep(1);
gettimeofday(&tval_after, NULL);
timersub(&tval_after, &tval_before, &tval_result);
printf("Time elapsed: %ld.%06ld\n", (long int)tval_result.tv_sec, (long int)tval_result.tv_usec);
这Time elapsed: 1.000870
在我的机器上返回。
发布于 2018-03-27 11:04:05
#include <time.h>
clock_t uptime = clock() / (CLOCKS_PER_SEC / 1000);
https://stackoverflow.com/questions/-100003224
复制相似问题