搜索了好几个,都是这么说的,有点看不明白。分析一下:
相同点: 二者都是与 日期时间相关的 头文件。
不同点:
time.h 是c99的,也就是c的库函数。
sys/time.h是linux系统的。
time.h既然是c库函数,那么在具体的平台上,就就可以依靠平台而实现,所以看上去是与平台无关的,谁都可以调用.
而 sys/time.h 只是在linux系统上可以调用。
按照下文的意思:
time_t 这样的结构,是linux的,所以,如果只是调用time.h,那么,就没有了time_t这样的结构,
所以在仅仅使用 c的time.h的时候,需要自己实现定义time_t结构:
下面好像不是定义time_t,而是 判断是否需要time_t 这个结构的宏定义。
#define __need_time_t
#define __need_timespec
===============================
#include time.h和 #include sys/time.h的区别
交叉编译情况下,两个文件的地址
/opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/arm-xscale-linux-gnu/include/time.h
/opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/arm-xscale-linux-gnu/include/sys/time.h
time.h 是ISO C99 标准日期时间头文件。
sys/time.h 是Linux 系统的日期时间头文件。
sys/time.h 通常会包含include time.h
编写的代码如果是平台无关的,则需要在代码里include time.h.
但这样的话,使用time_t等数据结构的话可能需要手动
#define __need_time_t
#define __need_timespec
通常如果代码可以是平台相关的,则只需要include sys/time.h