#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
#define GET_TIME_INIT(num) struct timeval _timers[num]
#define GET_TIME_VAL(num) gettimeofday(&_timers[num], NULL)
#define TIME_VAL_TO_MS(num) (((double)_timers[num].tv_sec*1000.0) + ((double)_timers[num].tv_usec/1000.0))
int main() {
GET_TIME_INIT(3);
sleep(1);
GET_TIME_VAL(0);
sleep(1);
GET_TIME_VAL(1);
sleep(2);
GET_TIME_VAL(2);
printf("1:0 ms = %f \n" , TIME_VAL_TO_MS(1) - TIME_VAL_TO_MS(0) );
printf("2:1 ms = %f \n" , TIME_VAL_TO_MS(2) - TIME_VAL_TO_MS(1) );
}
先上代码,后面再分析。、
#include <windows.h>
#define GET_TIME_INIT(num) LARGE_INTEGER _timers[num]; LARGE_INTEGER _freq; QueryPerformanceFrequency(&_freq)
#define GET_TIME_VAL(num) QueryPerformanceCounter(&_timers[num])
#define TIME_VAL_TO_MS(num) ((double)_timers[num].QuadPart*1000.0/_freq.QuadPart)

被折叠的 条评论
为什么被折叠?



