- ¿Es una mala idea usar linux/*.h include en código de espacio de usuario?
Sí, por lo general. La situación típica es que debería usar los encabezados de la biblioteca C (en este caso, stdint.h
y amigos), e interactúe con la biblioteca C a través de esos tipos de espacio de usuario, y deje que la biblioteca maneje hablar con el kernel a través de tipos de kernel.
Sin embargo, no estás en una situación típica. En su caso, está escribiendo la biblioteca de controladores . Por lo tanto, debería presentar una interfaz para el espacio de usuario usando stdint.h
, pero usando el linux/*.h
encabezados cuando interactúa con su controlador de kernel.
Así que la respuesta es no, en tu caso.
- ¿Es una mala idea usar stdint.h en el código del espacio del kernel?
Definitivamente sí.
Ver también:http://lwn.net/Articles/113349/