다른건 알겠는데 프로그램이 시작해서 끝날때까지 걸리는 시간을 출력하는 함수가 신기해 보입니다.
어떤 헤더파일안에 잇는 어떤 함수인가요?
궁금합니다 'ㅡ'

헐ㅋ 정리하는 동안 효준이가 먼저 답변했네 ㅋㅋ
#include <windows.h>
void main() {
//변수선언
LARGE_INTEGER freq, start, end;
double diff;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start); // 시간 측정 시작
// 메인함수 내용
QueryPerformanceCounter(&end); // 여기까지 측정
diff = (double)(end.QuadPart - start.QuadPart) / freq.QuadPart;
printf("%lf초", diff); // 혹은 cout << diff << "초";
}
or
#include <windows.h>
void main() {
// 변수선언
int diff;
int time_tick = GetTickCount(); // 시간 측정 시작
//메인함수 내용
diff = ((int)GetTickCount() - time_tick;
printf("%dms", diff); // 혹은 cout << diff << "ms";
}
둘 다 tick counter(BIOS에 위치하며 초당 18.2회 증가하는 unsigned int형 카운터)를 사용하는 방법인데요.
첫 번째 방법(효준이가 적은거)이 두 번째 방법보단 좀 더 정확합니다.
근데 중간에 인터럽트(입력 대기 같은거..) 걸리면 그만큼을 따로 빼줘야 되요ㅋ
예를들면 diff에 처음~입력받기 전까지 시간(A)을 넣어두고 입력 받은 후에 다시 시간을 측정(B)해서 diff에 A + B를 해 주는 식으로..
확장 컴포넌트 -> 코드하이라이터 를 사용하면 이렇게도 올려줄수있어요~
소스코드 공유할때 유용하니 애용해주세요~
먼저 글,댓글 에디터에 소스코드를 붙여넣고, 블럭을 씌운다음 코드하이라이터를 실행시켜서 해당언어 선택하고 확인!
void main() {
// 변수선언
int diff;
int time_tick = GetTickCount(); // 시간 측정 시작
//메인함수 내용
diff = ((int)GetTickCount() - time_tick;
printf("%dms", diff); // 혹은 cout << diff << "ms";
}




#include<windows.h>
timeMeasure()
{
LARGE_INTERGER freq, start, end;
double diff;
QueryPerformanceFrequency(&freq);
QueryPerformanceFrequency(&start);//함수시작 시간 시작!!
funcToBeTested(); // 예상함수 ㅇㅇ
QueryPerformanceCounter(&end);//함수끝난시간
diff=(double)(end.QuadPart - start.QuadPart) / freq.QuadPart;
}
요거임ㅋ