Rover12421's Blog

The End.

Windows下替代gettimeofday函数方法

        在提取Enigma密码算法的时候,测试程序中有个gettimeofday函数,这个函数Linux下的,Windows并没有提供,也没替代函数,所以就的自己写替代函数。下面是替代函数,网上找到的,精度没有Linux下原生函数的大,在精度不做特别要求时可以替代。

#ifdef WIN32
#include <time.h>
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);
}
#endif

Comments