用C测量时间会产生错误的结果

Cha*_*one 0 c time timeval

我试图以微秒为单位测量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);
Run Code Online (Sandbox Code Playgroud)

Joh*_*nck 7

settimeofday()你应该打电话的时候打电话给你gettimeofday()!