程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++定時器的使用方法,

C++定時器的使用方法,

編輯:C++入門知識

C++定時器的使用方法,


說白了就是三個函數的使用:

void CLMS511_interfaceDlg::OnTimer(UINT_PTR nIDEvent)
{
    // TODO: Add your message handler code here and/or call default

    if(nIDEvent == 20)   //這個20是第一個20.
    {
        
             DrawData();
        if(MySSocket.StopFlag)
            SendServer();
    }

    CDialog::OnTimer(nIDEvent);
}

KillTimer(20);  //銷毀標示符為20的定時器

 

說明:

SetTimer()定時器的第一個參數是定時器標識,可用任一非0的整數,第二個參數是定時器的時間間隔,單位是毫秒.第三個參數取值可以是NULL,
這時WM_TIMER的消息加入應用程序的消息隊列中,由CWnd類對象處理 例如 SetTimer(1,1,NULL)的時間間隔是1毫秒
下面例舉一下定時函數的種類:
Windows API  SetTimer(HWND,UNIT,UINT,TIMERPROC);  參數意義:  1.記時器所在窗口句柄  2.序號  3.記時周期  4.記時器響應函數 
CWnd類的 CWnd::SetTimer UINT SetTimer( UINT nIDEvent, //定時器的標識符 UINT nElapse, //所要定時的時間 void (CALLBACK EXPORT* lpfnTimer)( HWND, UINT, UINT, DWORD) );
 下面是C++中如何測一個程序運行的時間舉例:
unsigned long ticks1,ticks2; 在你要測試的開頭寫上 ticks1 = GetTickCount(); 測試部分結束時寫上 ticks2 = GetTickCount();
ticks2-ticks1就是所用時間 加上這個頭文件Winbase.h
下面再介紹一種測量程序執行時間的辦法:

     <time.h> 版本

 

clock_t start = clock();  
2./*code to be tested*/         
3.clock_t end   = clock();  
4.cout<<end - start<<endl;  

 

  大家多這個版本多半不會陌生,這應該是最常用的執行時間測試方法了,能精確到ms級。

 
在程序運行時打印到屏幕上的函數TRACE()  TRACE("距離:%d",m_DIST[i]);//在輸出欄輸出信息。
就是記錄日志信息的。%s在程序執行的時候替換成address對應的值。%d替換成函數WSAGetLastError()返回的錯誤碼。 總體翻譯過來就是Server "address" Can't Find Code="WSAGetLastError()"  具體是寫到文件裡邊,還是輸出到標准輸出即屏幕上,這個要看TRACE的實現了。

還有一個定時的方法,用sleep()函數實現。調用windows.h
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved