Frage

So versuche ich ein C-Programm zu schreiben, dass Anwendungen inotify. Ich habe verwendet pyinotify vor so verstehe ich, wie es funktioniert. Aber ich bin nach etwas Anleitung und es sagt mir <linux/inotify.h> aufzunehmen. Das Problem ist, dass dieser Header nur Makro-Definitionen hat, nicht die funciton Prototypen. Es sieht aus wie die Funktionen in <sys/inotify.h> prototypisiert werden.

Meine Frage ist, was ist der Unterschied zwischen linux/inotify.h und sys/inotify.h? Warum gibt es beides?

War es hilfreich?

Lösung

sys/inotify.h ist Teil der GNU-C-Bibliothek . Es macht die Strukturen und Funktionen, dass Ihr Programm, um verwendet Dateisystem-Änderungsbenachrichtigungen zu erhalten. Es kann als die öffentliche API des Benachrichtigungssystems berücksichtigt werden.

linux/inotify.h ist Teil des Linux-Kernels. Es definiert die Kernstrukturen und Konstanten verwendet, um das Benachrichtigungssystem selbst zu implementieren. Sie sollten nicht enthalten diese Datei, es sei denn, Sie schreiben so etwas wie ein Kernel-Modul, weil es Linux-spezifisch und damit nicht tragbar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top