如何使用ANSI C测量时间(以毫秒为单位)?

如何使用ANSI C测量时间(以毫秒为单位)?

仅使用ANSI C,有没有办法以毫秒或更多精度测量时间?我正在浏览time.h但我只发现了第二个精确功能。



翻阅古今
浏览 473回答 3
3回答

Helenr

#include&nbsp;<time.h>clock_t&nbsp;uptime&nbsp;=&nbsp;clock()&nbsp;/&nbsp;(CLOCKS_PER_SEC&nbsp;/&nbsp;1000);

红糖糍粑

我总是使用clock_gettime()函数,从CLOCK_MONOTONIC时钟返回时间。返回的时间是从过去的一些未指定的点开始的时间量,以秒和纳秒为单位,例如系统启动时期。#include&nbsp;<stdio.h>#include&nbsp;<stdint.h>#include&nbsp;<time.h>int64_t&nbsp;timespecDiff(struct&nbsp;timespec&nbsp;*timeA_p,&nbsp;struct&nbsp;timespec&nbsp;*timeB_p){ &nbsp;&nbsp;return&nbsp;((timeA_p->tv_sec&nbsp;*&nbsp;1000000000)&nbsp;+&nbsp;timeA_p->tv_nsec)&nbsp;- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((timeB_p->tv_sec&nbsp;*&nbsp;1000000000)&nbsp;+&nbsp;timeB_p->tv_nsec);}int&nbsp;main(int&nbsp;argc,&nbsp;char&nbsp;**argv){ &nbsp;&nbsp;struct&nbsp;timespec&nbsp;start,&nbsp;end; &nbsp;&nbsp;clock_gettime(CLOCK_MONOTONIC,&nbsp;&start); &nbsp;&nbsp;//&nbsp;Some&nbsp;code&nbsp;I&nbsp;am&nbsp;interested&nbsp;in&nbsp;measuring&nbsp; &nbsp;&nbsp;clock_gettime(CLOCK_MONOTONIC,&nbsp;&end); &nbsp;&nbsp;uint64_t&nbsp;timeElapsed&nbsp;=&nbsp;timespecDiff(&end,&nbsp;&start);}
打开App,查看更多内容
随时随地看视频慕课网APP