![#include 和 #include 有什么区别吗和#include?](https://linux22.com/image/205371/%23include%20%E5%92%8C%20%23include%20%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%E5%90%97%E5%92%8C%23include%EF%BC%9F.png)
我必须使用IOCTL为温度传感器编写一个设备驱动程序代码,当我浏览大量示例代码时,我在网上冲浪时发现,我在头文件中遇到了这个差异,我无法得到准确的答案它,因此我将其发布在这里,希望我可以得到使用我的代码的线索。
答案1
sys/ioctl.h
ioctl
是您在编写依赖于;的程序时使用的内容它定义了功能ioctl
最后包含linux/ioctl.h
,它定义了诸如_IOR
.
linux/ioctl.h
不应在用户代码中直接引用;然而,这正是您在编写 Linux 驱动程序时所使用的。
基本上,如果您看到#include <sys/ioctl.h>
,您正在查看程序代码;如果您看到#include <linux/ioctl.h>
,则您正在查看内核(设备驱动程序)代码,或者带有过度热情的程序代码#include
。
也可以看看ioctl
关于编写接口的Linux 内核文档。
(在这种特殊情况下, 的用户视图和内核视图linux/ioctl.h
是相同的;ioctl.h
是 Linux 内核中 UAPI 的一部分。)