定时器函数手写实现

2019-10-04  本文已影响0人  Timct

头文件:

#include <time.h>
#include <Windows.h>

函数定义:

int gettimeofday(struct timeval *tp, void *tzp);

函数实现:

int gettimeofday(struct timeval *tp, void *tzp)
{
    time_t clock;
    struct tm tm;
    SYSTEMTIME wtm;
    GetLocalTime(&wtm);
    tm.tm_year = wtm.wYear - 1900;
    tm.tm_mon = wtm.wMonth - 1;
    tm.tm_mday = wtm.wDay;
    tm.tm_hour = wtm.wHour;
    tm.tm_min = wtm.wMinute;
    tm.tm_sec = wtm.wSecond;
    tm.tm_isdst = -1;
    clock = mktime(&tm);
    tp->tv_sec = clock;
    tp->tv_usec = wtm.wMilliseconds * 1000;
    return (0);
}

调用方法:

int main()
{
    struct timeval start, end;
    gettimeofday(&start, NULL);
    //TO-DO
    gettimeofday(&end, NULL);
    double timeuse = (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec) / 1000000.0;   //s
}
上一篇 下一篇

猜你喜欢

热点阅读