C++ 计时器 单位

来源:互联网 发布:js验证用户名字母开头 编辑:程序博客网 时间:2024/04/30 00:39

C++  计时器  单位

【原文出处】http://my.csdn.net/yuhentian/code/detail/29603

C++中基本的计时器使用,有多种基本单位可选

//Windows系统下time(),clock(),timeGetTime(),GetTickCount(),QueryPerformanceCounter()来计时#include <stdio.h>  #include <windows.h>  #include <time.h>                   //time_t time()  clock_t clock()  #include <Mmsystem.h>               //timeGetTime()  #pragma comment(lib, "Winmm.lib")   //timeGetTime()     //使用方法:将Sleep()函数换成需要测试运行时间的函数即可。int main()  {      //用time()来计时  秒      time_t timeBegin, timeEnd;      timeBegin = time(NULL);      Sleep(1000);      timeEnd = time(NULL);      printf("%dn", timeEnd - timeBegin);                    //用clock()来计时  毫秒      clock_t  clockBegin, clockEnd;      clockBegin = clock();      Sleep(800);      clockEnd = clock();      printf("%dn", clockEnd - clockBegin);                    //用timeGetTime()来计时  毫秒      DWORD  dwBegin, dwEnd;      dwBegin = timeGetTime();      Sleep(800);      dwEnd = timeGetTime();      printf("%dn", dwEnd - dwBegin);                    //用GetTickCount()来计时  毫秒      DWORD  dwGTCBegin, dwGTCEnd;      dwGTCBegin = GetTickCount();      Sleep(800);      dwGTCEnd = GetTickCount();      printf("%dn", dwGTCEnd - dwGTCBegin);                 //用QueryPerformanceCounter()来计时  微秒      LARGE_INTEGER  large_interger;      double dff;      __int64  c1, c2;      QueryPerformanceFrequency(&large_interger);      dff = large_interger.QuadPart;      QueryPerformanceCounter(&large_interger);      c1 = large_interger.QuadPart;      Sleep(800);      QueryPerformanceCounter(&large_interger);      c2 = large_interger.QuadPart;      printf("本机高精度计时器频率%lfn", dff);      printf("第一次计时器值%I64d 第二次计时器值%I64d 计时器差%I64dn", c1, c2, c2 - c1);      printf("计时%lf毫秒n", (c2 - c1) * 1000 / dff);            return 0;  } 


原创粉丝点击