/usr/include下有两个time.h,有什么区别
#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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
那编译器太强大了, 这都行!
编译器会给你提供的。
sys/time.h是标准系统调用的,无论是Mingw Visual C++ 等都有,还有个time.h ,是c library的,用的时候别搞乱了。
/usr/include/sys/time.h看头部应该有包含了其他的time.h,