Linux ---#include <time.h>和 #include <sys/time.h>的区别

搜索了好几个,都是这么说的,有点看不明白。分析一下:

 

相同点: 二者都是与  日期时间相关的 头文件。

不同点:

   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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值