因为sys/time.h是uinx系统下的库文件,而现在使用的平台是在windows,由于未指明程序运行的系统,导致找不到对应的头文件。
需要重新实现gettimeofday()函数
#define WIN32
#include <time.h>
#ifdef WIN32
#include <windows.h>
#else
#include <sys/time.h>
#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
int set
time
ofday
(const struct
time
val *tv, const struct
time
zone *tz);
函数说明:set
time
ofday
()
会
把目前时间设成由tv 所指的结构信息,当地时区信息则设成tz 所指的结构。详细的说明请参考get
time
ofday
()。
注意,在
Linux
下,只有root 权限才能使用此函数修改时间。
返回值:成功则返回0,失败返回-1,错误代码存于errno
把“
sys
.c”和“
sys
.h”这两个文件复制到我工程“user”文件夹下的“
sys
”文件夹内,这个文件夹用于存放一些外设等东西的.c、.h文件。其实这个错误的意思是没有找到“
sys
.h”这个文件,我复制的程序中用到了这个文件,而我的工程里面没有这个文件。复制进去之后,再回到工程内,把这两个.c、.h文件添加进去,右击“user”添加即可。好,这一步完成之后就可以了,
编译
已经不
会
再报错了。接下来,继续添加,按照方框顺序自上而下操作即可。这一类型的其他问题解决办法大同小异,添加文件即可。那么添加一下就好了。
Get
Sys
tem
Time
AsFile
Time
(&ft);
* A file
time
is a 64-bit value that represents the number
* of 100-nanosecond intervals that have elapsed since
* January 1, 1601 12:00 A.M. UTC.
* Betw
这个是
Linux
的头文件,如果WIN32没定义,自己在预处理里加上。
要在#if defined(WIN32)前定义的
也就是在#include “pcap.h”前定义#define WIN32define WIN32include “pcap.h”
因公司项目需要,接触并学习WinPcap开发,经网上推荐按照WinPcap教程:循序渐进教你使用WinPcap学习,但是在第一章节的时候就遇到了error C1083:
无法
打开
包括文件:
“
sys
/
time
.h”: No such file or directory这个错误,点击报错提示进入了pcap.h的头文件中,并将错误指向如下的代码:
#if defined(WIN32)
time
(&raw
time
);
struct tm *
time
info = local
time
(&raw
time
);
cout <<
time
info->tm_year + 1
time
.h 是 ISO C99 标准日期时间头文件。
sys
/
time
.h 是
Linux
系统 的日期时间头文件。
sys
/
time
.h 通常
会
包含 #include &amp;lt;
time
.h&amp;gt; 。
编写的代码如果与平台无关的,则需要在代码里 #include &amp;lt;
time
.h&amp;gt;,但这样使用
time
_t 等数据结构的话需要手动
#define __...
time
_t 这样的结构,是
linux
的,所以,如果只是调用
time
.h,那么,就没有了
time
_t这样的结构,
所以在仅仅使用 c的
time
.h的时候,需要自己实现定义
time
_t结构:
下面好像不是定义
time
_t,而是 判断是否需要
time
_t 这个结构的宏定义。
#define __need_
time
_t
#define __need_
time
spec
sys
/
time
.h是
Linux
系统的日期时间头文件,
sys
/
time
.h通常
会
包含include
time
.h。
编写的代码如果是平台无关的,则需要在代码里include
time
.h,但这样的话,使用
time
_t等数据结构的话可能需要手动:
#define __need_
time
_t
#define __need_
time
spec
通常如果代码可以是平台相关的,则只需要incl
time
.h 是ISO C99 标准日期头文件。
sys
/
time
.h 是
Linux
系统的日期头文件。
注:
sys
/
time
.h 通常
会
包含include “
time
.h”
一、
time
.h
编写的代码如果与平台无关的,则需要在代码里 #include “
time
.h” 但这样使用
time
_t等数据结构的话需要手动
#defi...
sys
/
time
x.h
time
.h是C标准库的头文件,其余
sys
开头的都是
Linux
系统自己的头文件。
/usr/include/
time
.h定义了常用的
time
函数。
到/usr/incl