Game !


//#include <MMSystem.h>


#include <Windows.h>



 ( 초 단위 )

//clock_t before;

//double result;


//before = clock(); // 어떤 프로세스가 시작한지 얼마나 지났는지 알려주는 것


//for(int i=0; i<32765; i++) printf("%d\n",i);

//result = (double)(clock() - before) / CLOCKS_PER_SEC; // 시간으로 알고싶으면 초단위로 변환


//printf("걸린 시간은 %5.2f 입니다. \n", result);





( 밀리세컨 단위 ) 1

/*

단, 사용하기 위해서는 사용하는 파일에 Mmsystem.h 를 Include 해주고,

winmm.lib 를 Project=>Setting(ALT+F7) 메뉴의 LINK 텝에서 Object/library modules: 에 추가를 해주어야 합니다..

*/


/*DWORD dwStartTime = timeGetTime();


for(int i=0; i<32765; i++) printf("%d\n",i);


DWORD dwEndTime = timeGetTime();


printf("%d ms \n", dwEndTime - dwStartTime);*/





 ( 밀리세컨 단위 ) 2


// QueryPerformanceFrequency() => 자기 시스템이 최대 어느 정도까지의 timer resolution을 지원하는지를 판별하는데 사용됩니다.


// QueryPerformanceCounter() => 현재의 카운터를 알아내는 데에 사용됩니다.

// >>> 예를 들어,

// 앞의 함수를 콜한 후, 넘겨준 파라미터 값이 10000 으로 되어 있다면.. 그 시스템은 10000분의 1초(1/10000) 즉, 0.1밀리초까지 판별할 수 있습니다.

// 또한,

// 어떤 작업을 수행하기 전에, QueryPerformanceCounter() 함수를 한번 실행하고.. 

// 수행 후, 다시 콜 함으로써 각각 얻어진 카운터 값의 차이를 구함으로써 수행시간을 판별 가능.



/// 멤버 변수나 로벌 변수로 지정

LARGE_INTEGER frequency;

LAzRGE_INTEGER beginTime;

LARGE_INTEGER endTime;


/// 프로그램이나 클래스 시작 부분에

QueryPerformanceFrequency(&frequency);


/// 사용하고자 하는 부분에 다음 코딩

QueryPerformanceCounter(&beginTime);


/// 처리함수( );.....

for(int i=0; i<32765; i++) printf("%d\n",i);


QueryPerformanceCounter(&endTime);

__int64 elapsed = endTime.QuadPart - beginTime.QuadPart;

double duringTime = (double)elapsed / (double)frequency.QuadPart;


printf("%f \n", duringTime);