c+windows 함 수 를 이용 하여 시간 계산 예 시 를 실현 합 니 다.


//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("%d
", timeEnd - timeBegin);


    // clock() ,
    clock_t  clockBegin, clockEnd;
    clockBegin = clock();
    Sleep(800);
    clockEnd = clock();
    printf("%d
", clockEnd - clockBegin);


    // timeGetTime() ,
    DWORD  dwBegin, dwEnd;
    dwBegin = timeGetTime();
    Sleep(800);
    dwEnd = timeGetTime();
    printf("%d
", dwEnd - dwBegin);


    // GetTickCount() ,
    DWORD  dwGTCBegin, dwGTCEnd;
    dwGTCBegin = GetTickCount();
    Sleep(800);
    dwGTCEnd = GetTickCount();
    printf("%d
", 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(" %lf
", dff);
    printf(" %I64d
%I64d
%I64d
", c1, c2, c2 - c1);
    printf(" %lf

", (c2 - c1) * 1000 / dff);
    return 0;
}

좋은 웹페이지 즐겨찾기