GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die Verwendung von <linux/types.h> in Benutzerprogrammen oder <stdint.h> im Treibermodulcode ... spielt es eine Rolle?

  1. Ist es eine schlechte Idee, linux/*.h-Includes im User-Space-Code zu verwenden?

Ja, normalerweise. Die typische Situation ist, dass Sie die Header der C-Bibliothek verwenden sollten (in diesem Fall stdint.h und Freunde) und über diese User-Space-Typen mit der C-Bibliothek kommunizieren und die Bibliothek über Kernel-Typen mit dem Kernel kommunizieren lassen.

Sie befinden sich jedoch nicht in einer typischen Situation. In Ihrem Fall schreiben Sie die Treiberbibliothek . Sie sollten also mit stdint.h eine Schnittstelle zum Userspace präsentieren , aber mit dem linux/*.h Kopfzeilen, wenn Sie sich mit Ihrem Kernel-Treiber verbinden.

Die Antwort lautet also in Ihrem Fall nein.

  1. Ist es eine schlechte Idee, stdint.h im Kernel-Space-Code zu verwenden?

Auf jeden Fall ja.

Siehe auch:http://lwn.net/Articles/113349/


Linux
  1. Wie man C-Programme unter Linux mit gdb debuggt

  2. Kannst du es schaffen? Kompilieren Sie C-Programme unter Linux mit dem Make-Befehl

  3. Gibt es eine Möglichkeit, die UID des Benutzers auf einem Linux-Computer mit Java abzurufen?

  4. Was bedeutet __init im Linux-Kernel-Code?

  5. Wie kodiere ich ein Linux-Kernel-Modul?

Was ist ein Linux-Benutzer?

ID-Befehl unter Linux

So erstellen Sie Benutzer mit dem Befehl Useradd in Linux

So formatieren Sie Shell-Programme mit Shfmt unter Linux

So finden Sie heraus, ob ein Benutzer unter Linux eine kennwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet

Spielt unter Linux/Unix .tar.gz im Vergleich zu .zip eine Rolle?