如何使用ANSI C测量时间(以毫秒为单位)?仅使用ANSI C,有没有办法以毫秒或更多精度测量时间?我正在浏览time.h但我只发现了第二个精确功能。
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
我总是使用clock_gettime()函数,从CLOCK_MONOTONIC时钟返回时间。返回的时间是从过去的一些未指定的点开始的时间量,以秒和纳秒为单位,例如系统启动时期。
#include <stdio.h>#include <stdint.h>#include <time.h>int64_t timespecDiff(struct timespec *timeA_p, struct timespec *timeB_p){ return ((timeA_p->tv_sec * 1000000000) + timeA_p->tv_nsec) - ((timeB_p->tv_sec * 1000000000) + timeB_p->tv_nsec);}int main(int argc, char **argv){ struct timespec start, end; clock_gettime(CLOCK_MONOTONIC, &start); // Some code I am interested in measuring clock_gettime(CLOCK_MONOTONIC, &end); uint64_t timeElapsed = timespecDiff(&end, &start);}
- 3 回答
- 0 关注
- 472 浏览
添加回答
举报
0/150
提交
取消