시간차 구하기


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);

}



반응형

'프로그램 > C' 카테고리의 다른 글

[C] Call-By-Value와 Call-By-Reference  (0) 2017.07.22
[C] 포인터와 배열  (0) 2017.07.19
[C] 포인터 자료형  (0) 2017.07.13
[C] 포인터 기초  (0) 2017.07.06
[C] 배열 사용법  (0) 2017.03.22

+ Recent posts