【问题标题】:Measuring time in C gives wrong result [closed]在 C 中测量时间会给出错误的结果 [关闭]
【发布时间】:2016-08-29 19:04:32
【问题描述】:

我正在尝试以微秒为单位测量 C 中的时间。我试过这段代码,但值 time_passed 是一个巨大的数字,而不是 0(或 1)。

   struct timeval start;
   settimeofday(&start,NULL);
   struct timeval stop;
   settimeofday(&stop,NULL);
   unsigned long long int time_passed = 
       (stop.tv_sec-start.tv_sec)*1000000 + (stop.tv_usec - start.tv_usec);
   printf("time passed: %llu us\n",time_passed);

【问题讨论】:

  • 您的开始和停止之间没有声明。只是一个声明。
  • 他的意思是startstop之间没有什么可以计算的
  • 但也许这就是目的。
  • 您没有检查函数的返回值。看起来你不在乎你的电话是成功还是失败。
  • @n.m.:但是本着 C 编程的真正精神,代码会尽快结束!

标签: c time timeval


【解决方案1】:

当你应该打电话给gettimeofday()时,你却打电话给settimeofday()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    相关资源
    最近更新 更多