- Est-ce une mauvaise idée d'utiliser les inclusions linux/*.h dans le code de l'espace utilisateur ?
Oui, généralement. La situation typique est que vous devez utiliser les en-têtes de la bibliothèque C (dans ce cas, stdint.h
et amis), et s'interface avec la bibliothèque C via ces types d'espace utilisateur, et laisse la bibliothèque gérer la communication avec le noyau via les types de noyau.
Vous n'êtes cependant pas dans une situation typique. Dans votre cas, vous écrivez la bibliothèque de pilotes . Vous devriez donc présenter une interface à l'espace utilisateur en utilisant stdint.h
, mais en utilisant le linux/*.h
en-têtes lorsque vous vous connectez à votre pilote de noyau.
La réponse est donc non, dans votre cas.
- Est-ce une mauvaise idée d'utiliser stdint.h dans le code de l'espace noyau ?
Certainement oui.
Voir aussi :http://lwn.net/Articles/113349/