现在的位置: 首页 > 综合 > 正文

开发中常用的几个时间函数

2014年02月01日 ⁄ 综合 ⁄ 共 1156字 ⁄ 字号 评论关闭
    在平时的程序开发尤其是游戏等多媒体的程序开发中,要经常用到时间函数用来衡量程序的运行时间、算法的效率或者在某个时间进行特定的操作等。操作系统和编译器为我们提供了很多时间函数,这些函数的精度也各不相同,所以他们的用途也不尽相同。下面简单总结一下平时常用的几个时间函数。

  • C语言下的Time函数:获取当前时间
    • 使用:

                            time_t  time;
                            time(&time);

    • 精度:秒级别
    •  CTime的GetCurrentTime:获取当前系统时间
      • 使用:

                                CTime t = CTime::GetCurrentTime();

      • 精度:秒级别。可以获得当前系统的。可以活得当前系统的年、月、日、星期、时、分和秒
    • Windows下的GetTickCount():用于判断两断时间的间隔
      • 使用:

                                DWORD start = GetTickCount();
                                ……
                                ……
                                DWORD end = GetTickCount();
                                DWORD last = end - start;

      • 精度:毫秒级
    • Windows下timeGetTime:返回系统从开机启动到现在的时间
      • 使用:同GetTickCount()使用方法一样
      • 精度:毫秒级
    • 高精度时控函数QueryPerformanceFrequency,QueryPerformanceCounter
      • 使用:

                               LARGE_INTEGER m_nFreq;
                              LARGE_INTEGER m_nBeginTime;
                              LARGE_INTEGER m_nEndTime;
                              QueryPerformanceFrequency(&m_nFreq); // 获取时钟周期
                              QueryPerformanceCounter(&m_nBeginTime); // 获取时钟计数
                              Sleep(100);
                              QueryPerformanceCounter(&m_nEndTime);
                             cout << (m_nEndTime.QuadPart-m_nBeginTime.QuadPart)*1000/m_nFreq.QuadPart << endl;

      • 精度:毫秒级(最精确)

     

    抱歉!评论已关闭.