Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C来测量时间会得到错误的结果_C_Time_Timeval - Fatal编程技术网

用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

我试图用C来测量时间,单位是微秒。我尝试了这段代码,但是值
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);