尝试使用gettimeofday查找经过的时间(以毫秒为单位)

时间:2016-09-01 02:29:35

标签: c++ c

所以我尝试使用gettimeofday来查找执行代码所用的时间。但是当我将它输出到stdout时,我会得到这个非常大的数字。执行只需不到一秒钟,但输出显示的时间要长得多。

struct timeval start, end;

gettimeofday(&start, NULL);

//code

gettimeofday(&end, NULL);
printf("Elapsed Time = %ld\n", (end.tv_sec - start.tv_sec) + ((end.tv_usec - start.tv_usec)/1000000.0);

代码在不到一秒的时间内执行,但我的输出是 - > 140734185085712

1 个答案:

答案 0 :(得分:1)

带有%ld的Printf期望整数而不是浮点数。尝试%f或类似而不是%ld。此外,您可能希望在微秒部分检查(并处理)环绕。