所以我正在尝试编写一个使用inotify 的C 程序。我以前使用过 pyinotify,所以我了解它是如何工作的。但是,我正在遵循一些指南,它告诉我包含<linux/inotify.h>
. 问题是这个头文件只有宏定义,没有功能原型。看起来函数的原型是<sys/inotify.h>
.
linux/inotify.h
我的问题是和有什么区别sys/inotify.h
?为什么两者都有?
sys/inotify.h
是GNU C 库的一部分。它公开了您的程序将用于接收文件系统更改通知的结构和功能。它可以被认为是通知系统的公共 API。
linux/inotify.h
是 Linux 内核的一部分。它定义了用于实现通知系统本身的内核结构和常量。除非您正在编写内核模块之类的东西,否则不应包含该文件,因为它是 Linux 特定的,因此不可移植。