U E D R S I H C RSS
ID
Password
Join
폭력은 무능한 자들의 마지막 피난처. ―아이작 아시모프(美 공상과학소설가)

 * 현재 나온 ACE 서적과 tip에 없는 거 같아 정리해둡니다. 조금 주의할 사항들이 있어서...
  • 시작시 반드시 start() 메소드를 실행해주어야합니다. ACE_High_Res_Timer 객체를 만들고 경과된 시간을 elapsed_time() 메소드를 사용하여 꺼낼때는 반드시 stop()메소드를 실행해주어야합니다. 즉, 다음과 같이 하여야합니다.
    ACE_High_Res_Timer t_; t_.start();
    ...	
    { t_.stop(); ACE_Time_Value to; t_.elapsed_time(to); cout << to.msec() << endl; }
    // 시간을 재설정합니다. 스톱워치를 다시 0으로 돌리고 시작한다고 생각하면 됩니다.
    t_.reset(); t_.start();
    ...
    { t_.stop(); ACE_Time_Value to; t_.elapsed_time(to); cout << to.msec() << endl; }
    
    여기서 경과시간을 재기위해 stop()메소드를 실행하지 않으면 엉뚱한 값이 나옵니다. 밀리초단위로 꺼내기위해 ACE_Time_Value::msec() 메소드를 사용했습니다. 초로 뽑으려면 ACE_Time_Value::sec()를 사용하면 됩니다.
  • 보통 독립된 경과시간을 잴 때에는 start()->stop()을 사용하며 elapsed_time()메소드로 경과시간을 꺼내면되지만, 누적된 경과시간을 잴 경우가 있습니다. (예:자동차 여러대가 경주할 경우 각각의 lap 시간재기) 이럴때에는 start_incr()->stop_incr()메소드를 사용해야하며 elapsed_time_incr()메소드를 사용하여 시간을 재야합니다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.0355 sec