GNU/Linux >> Tutoriales Linux >  >> Linux

Usar <linux/types.h> en los programas de usuario, o <stdint.h> en el código del módulo del controlador... ¿importa?

  1. ¿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.

  1. ¿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/


Linux
  1. Cómo instalar phpMyAdmin en Linux usando el código fuente

  2. ¿Puedes hacerlo? Compile programas C en Linux usando el comando Make

  3. ¿Qué significa decir que el kernel de Linux es preventivo?

  4. Cambios en los parámetros del módulo del kernel (usando /sys/module)

  5. En Linux/Unix, ¿importa .tar.gz versus .zip?

Comando de identificación en Linux

Cómo crear usuarios usando el comando Useradd en Linux

¿Qué es POSIX? ¿Por qué es importante para los usuarios de Linux/UNIX?

Cómo formatear programas Shell usando Shfmt en Linux

Cómo encontrar si un usuario está utilizando autenticación SSH basada en contraseña o clave en Linux

Forma correcta de obtener grupos de un usuario en Linux usando C