[C] 시간차이 구하기 ( millisecond 까지.. )
시간차 구하기
gettimeofday 함수를 활용하여 시간차이를 구하는 방법을 살펴 보겠다.
참고로 해당 함수는 windows에서 동작하지 않고 unix, linux 환경에서 동작한다.
포인터의 자료형 |
아래와 같이 해더를 추가한다.
#include <time.h> |
위의 해더에는 아래와 같은 구조체가 존재하며 해당 구조체는 gettimeofday 호출시 필요하다.
struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* and microseconds */ }; |
이제 전체 시간 구하는 전체 예제를 확인해 보겠다.
#include <stdio.h> #include <time.h> int main() { struct timeval startTime, endTime, gepTime; gettimeofday( &startTime, NULL ); sleep(1); gettimeofday( &endTime, NULL ); gepTime.tv_sec = endTime.tv_sec - startTime.tv_sec; gepTime.tv_usec = endTime.tv_usec - startTime.tv_usec; if ( gepTime.tv_usec < 0 ) { gepTime.tv_sec = gepTime.tv_sec - 1; gepTime.tv_usec = gepTime.tv_usec + 1000000; } printf("ellapsed time [%02d.%02d] second\n", gepTime.tv_sec, gepTime.tv_usec); } |