Estoy usando doxygen para comentar mi código C. Estoy utilizando una API extranjera (es decir, no la mía) para la cual la documentación es escasa, así que intento documentar parte de esa API en mis propios archivos fuente. I do tienen el archivo de encabezado para la API externa, pero no es práctico agregar mis propios comentarios a ese archivo.Use doxygen para documentar los miembros de una estructura c fuera de la definición de estructura
Cabecera Exteriores
struct foreignstruct
{
int a;
int b;
};
Mi Cabecera
/** My structure comments...
struct mystruct
{
/** Describe field here... */
int field;
};
/** @struct foreignstruct
* @brief This structure blah blah blah...
* @??? a Member 'a' contains...
* @??? b Member 'b' contains...
*/
Qué etiqueta lo uso en lugar del @???
para obtener la salida doxygen correcta (donde 'correcta' significa salida generada por mystruct
y foreignstruct
son lo mismo)?
Este la solución funciona si 'foreignstruct' está en un archivo que es analizado por doxygen. ¿Esperas que funcione si ese archivo no es conocido por doxygen? Veo 'advertencia: no se ha encontrado ningún miembro de la clase que coincida de forma exclusiva para foreignstruct :: a' cuando no se puede encontrar la definición de la línea de acceso directo (que es correcta porque no quiero que doxygen analice ese encabezado foráneo). He intentado agregar la ruta al encabezado ('@struct foreignstruct/full/path/to/header.h') pero obtengo' warning: el nombre 'full/path/to/header.h 'proporcionado como argumento del comando \ class, \ struct, \ union, o \ include no es un archivo de entrada'. – Ben
La estructura debería ser conocida por doxygen. Entonces puede dejar que doxygen analice el encabezado foráneo además de su documentación local o agregar una definición ficticia de la estructura con campos localmente (pero luego no tiene que usar @struct y @var). – doxygen
No era lo que esperaba que fuera la respuesta, pero es la respuesta que esperaba. Gracias por la ayuda. – Ben