用C来测量时间会得到错误的结果
我试图用C来测量时间,单位是微秒。我尝试了这段代码,但是值用C来测量时间会得到错误的结果,c,time,timeval,C,Time,Timeval,我试图用C来测量时间,单位是微秒。我尝试了这段代码,但是值time\u passed是一个巨大的数字,而不是0(或1) 您正在调用settimeofday()而您应该调用gettimeofday() 在开始和停止之间没有声明。只有一个声明。他的意思是在start和stop之间没有什么可计算的,但可能这就是目的。您没有检查函数的返回值。看起来您不在乎调用成功还是失败。@n.m:但本着C编程的真正精神,代码会尽快结束! struct timeval start; settimeofday
time\u passed
是一个巨大的数字,而不是0(或1)
您正在调用
settimeofday()
而您应该调用gettimeofday()
在开始和停止之间没有声明。只有一个声明。他的意思是在start
和stop
之间没有什么可计算的,但可能这就是目的。您没有检查函数的返回值。看起来您不在乎调用成功还是失败。@n.m:但本着C编程的真正精神,代码会尽快结束!
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);