C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[47276] Re:Re:어플리케이션 실행 시간 구하는 법을 알고 싶습니다.
김상구.패패루 [peperu] 3126 읽음    2006-12-01 17:44
GetTickCount를 쓰실땐.. 49일 주기로 오버플로우가 생기는걸 주의하셔야합니다.
GetTickCount말고 그냥 일반 날짜관련 클래스나 함수들 쓰세요.

그냥 now() 한방 때려주시는게 좋을 듯 하군요.


이현진 님이 쓰신 글 :
: 에스프레소 님이 쓰신 글 :
: : 안녕하세요...
: :
: : 항상 C++ 빌더 포럼에서 많은 도움을 받고 있어서 감사히 생각하고 있습니다.
: :
: : 궁금한 사항이 있어 질문을 드립니다.
: :
: : 프로그램이 처음에 실행되고 나서 끝날때 까지 실행된 시간을 구하고 싶습니다.
: :
: : 어떤 방법이 있는지 고수님들의 의견을 기다리겠습니다.
: :
: : 그럼 즐푸 하세요 ~~
:
: 초간단 방법으로는 GetTickCount() WinAPI 함수를 이용해서 프로그램 시작시에 tick 값을 얻어오고,
: 프로그램 종료시에 다시 tick 값을 얻어와서 그 차이값으로 프로그램이 수행된 millisecond 값을 계산할 수 있습니다.
:
: 좀더 정밀한 수행 시간을 계산하려면, QueryPerformanceFrequency(), QueryPerformanceCounter() WinAPI 함수를 이용하시면 됩니다.
:
: //---------------------------------------------------------------------------
: //! 경과 시간 처리 클래스
: class DLL_API CTIMER
: {
: private:
:     void initialize();
:
: protected:
:     LARGE_INTEGER    tick_count;
:     LARGE_INTEGER    last_time;
:
: public:
:     CTIMER();
:     virtual ~CTIMER();
:
:     //! 경과 시간 초기화
:     /*! 경과된 시간을 0으로 초기화 */
:     void reset();
:     //! 경과 시간 반환
:     /*! 마지막으로 초기화한 이후 경과된 시간 반환
:     * \return 초(second) 단위 시간
:     */
:     double elapsed();
:
:     //! 경과 시간 확인
:     /*! 주어진 시간이 경과 되었는지 확인
:     * \param _time: 경과 확인 시간 (sec)
:     * \return true: 경과됨, false: 경과되지 않음
:     */
:     bool is_elapsed(const double _time);
: };
: //---------------------------------------------------------------------------
:
: CTIMER::CTIMER()
: {
:     initialize();
: }
: //---------------------------------------------------------------------------
:
: CTIMER::~CTIMER()
: {
: }
: //---------------------------------------------------------------------------
:
: void CTIMER::initialize()
: {
:     ZeroMemory(&tick_count, sizeof(LARGE_INTEGER));
:     QueryPerformanceFrequency(&tick_count);
:     ZeroMemory(&last_time, sizeof(LARGE_INTEGER));
:     reset();
: }
: //---------------------------------------------------------------------------
:
: void CTIMER::reset()
: {
:     QueryPerformanceCounter(&last_time);
: }
: //---------------------------------------------------------------------------
:
: double CTIMER::elapsed()
: {
:     LARGE_INTEGER currentTime;
:     QueryPerformanceCounter(¤tTime);
:
:     return ( ((double)currentTime.QuadPart - (double)last_time.QuadPart) /
:             (double)tick_count.QuadPart );
: }
: //---------------------------------------------------------------------------
:
: bool CTIMER::is_elapsed(const double _time)
: {
:     return (elapsed()>_time) ? true : false;
: }
: //---------------------------------------------------------------------------

+ -

관련 글 리스트
47164 어플리케이션 실행 시간 구하는 법을 알고 싶습니다. 에스프레소 1334 2006/11/21
47165     Re:어플리케이션 실행 시간 구하는 법을 알고 싶습니다. 이현진 2167 2006/11/21
47276         Re:Re:어플리케이션 실행 시간 구하는 법을 알고 싶습니다. 김상구.패패루 3126 2006/12/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.