因此,我试图编写一个使用inotify的C程序。我以前使用过pyinotify,所以我了解它是如何工作的。但是,我正在遵循一些指南,它告诉我包括<linux/inotify.h>
。问题在于此 header 仅具有宏定义,而没有函子原型(prototype)。看起来这些函数是在<sys/inotify.h>
中原型(prototype)化的。
我的问题是linux/inotify.h
和sys/inotify.h
有什么区别?为什么两者都有?
最佳答案
sys/inotify.h
是GNU C library的一部分。它公开了程序将用于接收文件系统更改通知的结构和功能。可以将其视为通知系统的公共(public)API。linux/inotify.h
是Linux内核的一部分。它定义了用于实现通知系统本身的内核结构和常量。除非要编写类似于内核模块的内容,否则不应该包含该文件,因为它是特定于Linux的,因此不可移植。
关于c - 初始化C头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4420647/