코딩스타일을 보면 제가 짠게 아닌 것은 확실합니다만....
그냥 자료가 있는데 출처가 정말 애매하네요. 원본에 대한 것이....ㅠ.ㅠ
여하튼 참고 바랍니다.
-----------------------
#include <stdio.h>
#include <sys/time.h>
static struct timeval __mclock_start; // 기준 시작 시간
void mclock_init( void )
{
gettimeofday( &__mclock_start, NULL );
}
long int mclock( void )
{
struct timeval timecurrent;
struct timeval timeresult;
gettimeofday( &timecurrent, NULL );
timeresult.tv_sec = timecurrent.tv_sec - __mclock_start.tv_sec;
timeresult.tv_usec = timecurrent.tv_usec - __mclock_start.tv_usec;
if( timeresult.tv_usec < 0 )
{
timeresult.tv_sec--;
timeresult.tv_usec += 1000000;
}
return timeresult.tv_sec * 1000 + ( timeresult.tv_usec / 1000 );
}
void mclock_test( void )
{
long int start_mclock;
int lp;
mclock_init(); // 프로그램 전체에서 한번만 설정해 주면 된다.
start_mclock = mclock();
for( lp = 0; lp < 0xFFFFFFF; lp++ )
for( lp = 0; lp < 0xFFFFFFF; lp++ );
printf( "mclokc : %ld m Sec n", mclock()-start_mclock );
}
int main()
{
mclock_test();
printf("test end...n");
return 0;
}