无法打开源文件<sys/time.h>,但是用time.h编译就会出错,缺少gettimeofday()

因为sys/time.h是uinx系统下的库文件,而现在使用的平台是在windows,由于未指明程序运行的系统,导致找不到对应的头文件。

需要重新实现gettimeofday()函数

 

#define WIN32
#include
#ifdef WIN32
#include
#else
#include
#endif
#ifdef WIN32
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

你可能感兴趣的:(c/c++,windows,linux,c++)