zoukankan      html  css  js  c++  java
  • C++里面定时器的使用

    说白了就是三个函数的使用:

    SetTimer(20, 20, 0); //第一个20表示此定时器的标识符,第二个20表示你要定的时间,第三个不用管,设0即可。

    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> 版本

     

    1. 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
     
  • 相关阅读:
    vue hover如何触发事件?
    防止 window.open 被拦截
    input输入框change和blur事件区别
    神马?使用JS直接上传并预览粘贴板的图片?
    删除设备与驱动器中百度网盘图标
    枚举类字典代码 草稿
    中文转换成阿拉伯数字
    Java对象与类中的一个小练习
    正向代理和反向代理
    MySQL教程126-MySQL事务隔离级别
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/3517858.html
Copyright © 2011-2022 走看看