我正在使用 timeval 和 clock() 函数来查看我的 c 程序中两个操作之间的时间差。不知何故 timeval 似乎给了我正确的以毫秒为单位的经过时间,而 clock() 给出的价值非常少。
g_time = clock();
gettimeofday(&decode_t,NULL);
一段时间后
delay =((float)(clock()-g_time)/(float)CLOCKS_PER_SEC);
gettimeofday(&poll_t,NULL);
delay1 = ((poll_t.tv_sec - decode_t.tv_sec)*1000 + (poll_t.tv_usec - decode_t.tv_usec)/1000.0) ;
printf("\ndelay1: %f delay: %f ",delay1,delay);
通常的输出是:
延迟1:1577.603027 延迟:0.800000
delay1 以毫秒为单位,延迟以秒为单位。
我正在使用 archlinux 64 位。我不明白为什么会这样。