为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
翻阅古今 2019-07-26 15:34:40
如何使用ANSI C测量时间(以毫秒为单位)?仅使用ANSI C,有没有办法以毫秒或更多精度测量时间?我正在浏览time.h但我只发现了第二个精确功能。
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-07-26
?
红糖糍粑

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);}


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 472 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信