일정 시간 간격으로 연산을 실행하고 싶으면, 타이머를 이용해야 댐
WIN32 API에서는 SetTimer를 제공하니까 그걸 쓰면 대고..
콘솔환경에서는 clock()함수를 쓰는게 좋음.. (time.h에 있엉 ㅇㅇ)
그닝까.. 대략 이런 느낌으로 짜면 댐..
//헤더 생략
int main()
{
clock_t now, pre;
now = clock();
pre = now;
while(1)
{
now = clock();
if((now - pre) > 원하는 시간)
{
printf("너님이 원하는 연산");
pre = now;
}
else Sleep(1)
}
return 0;
}
일케하면, 일정 시간이 지날 때 마다, 연산을 하고, 그 기준이 컴퓨터의 내부 시간이기 때문에, 중간 컴퓨터의 연산시간에 무관하게 일정한 간격을 쉼.
다만, Sleep가 실행되는 시간이나 clock의 오차만큼의 오차는 존재할 수 있음..
모 책에서 그런 남는 시간을 아이들타임이라고 번역한 흑역사가 생각난다 ㅋㅋ
여기저기서 많이 쓰이는 소소한 테크닉임
gettickcount