#include 和 #include 有什么区别吗和#include?

#include 和 #include 有什么区别吗和#include?

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

答案1

sys/ioctl.hioctl是您在编写依赖于;的程序时使用的内容它定义了功能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 的一部分。)

相关内容