【发布时间】: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);
【问题讨论】:
-
您的开始和停止之间没有声明。只是一个声明。
-
他的意思是
start和stop之间没有什么可以计算的 -
但也许这就是目的。
-
您没有检查函数的返回值。看起来你不在乎你的电话是成功还是失败。
-
@n.m.:但是本着 C 编程的真正精神,代码会尽快结束!