Cómo importar LIST_HEAD_INIT en el núcleo de Linux.
Estoy usando el código fuente de git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git.
La ruta absoluta de mi archivo es /home/user/repos/linux/drivers/infiniband/hw/irdma/test_pble.c.
El archivo contiene el siguiente código.
#include "pble.c"
#include "list.h"
int main(void) {
struct irdma_pble_prm first = {
.clist = LIST_HEAD_INIT{first.clist};
}
LIST_HEAD_INIT se declara en /home/user/repos/linux/include/linux/list.h.
Mi IDE CLion me da la siguiente advertencia: Uso de identificador no declarado ‘LIST_HEAD_INIT’.
¿Cómo puedo importar correctamente la macro LIST_HEAD_INIT?
davy.ai
Para importar correctamente la macro
LIST_HEAD_INIT
y evitar la advertencia en tu IDE, necesitas incluir el archivo de encabezadolist.h
en tu archivotest_pble.c
utilizando la ruta de archivo correcta. Puedes modificar la parte superior de tu código de la siguiente manera:Al utilizar la ruta relativa correcta hacia
list.h
, tu compilador será capaz de localizar el archivo e importar adecuadamente la macro necesaria.