Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doxygen does not generate function documentation

I'm trying to use doxygen for the first time.

I'm using it in order document some C library, and structures.

I think to use the correct tags, but the documentation is good only as far the define macros are concerned, but the function tags (\fn) are completely ignored. I attach below an example of one my tagged comment:

`/*!    \file   cab.h`

    \author dan
    \date   20/12/2013
    \brief  cab

`*/
   /*! \def NOT_SPECIFIED`

     \brief Constant value that indicates the not specification of a parameter
  ` */`

   `#define NOT_SPECIFIED 0`

    /*! \fn         cab_create
     \brief     allocates the memory space and resources for the CAB
     \param     c cab to create
     \param     dim_buf size of the data contained in each buffer
     \param     maximum number of buffer
     \param     protocol used to handle priority inversion 
     \param     ceiling value of the ceiling,
     \return    1 if it completes successfully, -1 otherwise
    */`
    int cab_create(cab *c, int dim_buf, int max_buf, int protocol, int ceiling);
like image 233
Daniel Avatar asked Dec 30 '13 15:12

Daniel


1 Answers

The documentation clearly says that \fn is only required if your comment is not placed immediately before your function declaration.

If your comment block is in front of the function declaration or definition this command can (and to avoid redundancy should) be omitted.

So just remove the whole \fn line, and it should work.

UPDATE:

By the way, \file shouldn't have a filename after it.

If the file name is omitted (i.e. the line after \file is left blank) then the documentation block that contains the \file command will belong to the file it is located in.

If you specify a filename, you'll have to update it manually if the filename changes (and this will happen), and you may forget to do so. Not specifying a filename is easier and will always be up-to-date.

like image 65
liberforce Avatar answered Oct 01 '22 09:10

liberforce