首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#include <linux/ioctl.h>和#include <sys/ioctl.h>之间有什么区别吗?

问#include <linux/ioctl.h>和#include <sys/ioctl.h>之间有什么区别吗?
EN

Unix & Linux用户
提问于 2022-05-03 07:01:02
回答 1查看 652关注 0票数 0

我必须用IOCTL为温度传感器编写设备驱动程序代码,当我浏览大量的示例代码时,我发现在网上冲浪时,我在头文件中遇到了这个差异,我无法得到准确的答案,所以我在这里发布它,希望我能找到一个使用我的代码的线索。

EN

回答 1

Unix & Linux用户

发布于 2022-05-03 07:26:20

sys/ioctl.h是您在编写依赖于ioctl的程序时所使用的;它定义了这个ioctl函数,并最终包含了linux/ioctl.h,后者定义了宏(如_IOR )。

linux/ioctl.h不应该在用户代码中直接引用;但是,在编写Linux驱动程序时,应该使用它。

基本上,如果您看到#include <sys/ioctl.h>,您将看到的是程序代码;如果您看到#include <linux/ioctl.h>,您将看到内核(设备驱动程序)代码,或者是带有过于热情的#includes的程序代码。

另见编写Linux内核文档ioctl接口。

(在这种情况下,linux/ioctl.h的用户视图和内核视图是相同的;ioctl.h是Linux内核中UAPI的一部分。)

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/701230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档