⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeval.h

📁 在Linux下做的QuadTree的程序
💻 H
字号:
/* * timeval.h    1.3 2003/01/14 * * Defines gettimeofday, timeval, etc. for Win32 * * By Wu Yongwei * */#ifndef _TIMEVAL_H#define _TIMEVAL_H#ifndef WIN32_LEAN_AND_MEAN#define WIN32_LEAN_AND_MEAN#endif#include <winsock2.h>#include <time.h>#if defined(_MSC_VER) || defined(__BORLANDC__)#define EPOCHFILETIME (116444736000000000i64)#else#define EPOCHFILETIME (116444736000000000LL)#endifstruct timezone {    int tz_minuteswest; /* minutes W of Greenwich */    int tz_dsttime;     /* type of dst correction */};#if !defined(_WIN32_WCE)__inline int gettimeofday(struct timeval *tv, struct timezone *tz){    FILETIME        ft;    LARGE_INTEGER   li;    __int64         t;    static int      tzflag;    if (tv)    {        GetSystemTimeAsFileTime(&ft);        li.LowPart  = ft.dwLowDateTime;        li.HighPart = ft.dwHighDateTime;        t  = li.QuadPart;       /* In 100-nanosecond intervals */        t -= EPOCHFILETIME;     /* Offset to the Epoch time */        t /= 10;                /* In microseconds */        tv->tv_sec  = (long)(t / 1000000);        tv->tv_usec = (long)(t % 1000000);    }    if (tz)    {        if (!tzflag)        {            _tzset();            tzflag++;        }        tz->tz_minuteswest = _timezone / 60;        tz->tz_dsttime = _daylight;    }    return 0;}#else__inline int gettimeofday(struct timeval *tv, struct timezone *tz){	SYSTEMTIME      st;    FILETIME        ft;    LARGE_INTEGER   li;    TIME_ZONE_INFORMATION tzi;    __int64         t;    static int      tzflag;    if (tv)    {		GetSystemTime(&st);		SystemTimeToFileTime(&st, &ft);        li.LowPart  = ft.dwLowDateTime;        li.HighPart = ft.dwHighDateTime;        t  = li.QuadPart;       /* In 100-nanosecond intervals */        t -= EPOCHFILETIME;     /* Offset to the Epoch time */        t /= 10;                /* In microseconds */        tv->tv_sec  = (long)(t / 1000000);        tv->tv_usec = (long)(t % 1000000);    }    if (tz)    {           GetTimeZoneInformation(&tzi);		        tz->tz_minuteswest = tzi.Bias;		if (tzi.StandardDate.wMonth != 0)        {			tz->tz_minuteswest += tzi.StandardBias * 60;        }        if (tzi.DaylightDate.wMonth != 0)        {            tz->tz_dsttime = 1;        }        else        {            tz->tz_dsttime = 0;        }    }    return 0;}#endif /* _WIN32_WCE */#endif /* _TIMEVAL_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -