/usr/include下有两个time.h,有什么区别

发布于 2021-11-29 04:14:15 字数 545 浏览 936 评论 4

#include <stdio.h>
#include <sys/time.h>

int main()
{
        struct timeval tv;
        gettimeofday(&tv, NULL);
        printf("%d", tv.tv_sec);

}

以上代码运行正常,关于头文件<sys/time.h>,我到/usr/include/sys/time.h中没有找到关于timeval结构体的声明

但是却在/usr/include/linux/time.h中找到了timeval的声明

于是我尝试把头文件地址改为<linux/time.h>代码也可以运行正常

那么<sys/time.h>和<linux/time.h>有什么区别吗,另外为什么在/usr/include/sys/time.h中没有找到定义却可以正常运行呢?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

噩梦成真你也成魔 2021-11-30 06:46:35

那编译器太强大了, 这都行!

顾忌 2021-11-29 19:33:42

编译器会给你提供的。

悲喜皆因你 2021-11-29 17:47:20

sys/time.h是标准系统调用的,无论是Mingw Visual C++ 等都有,还有个time.h ,是c library的,用的时候别搞乱了。

爱的那么颓废 2021-11-29 06:15:25

/usr/include/sys/time.h看头部应该有包含了其他的time.h,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文