Daniel Daniel - 3 years ago 228
C Question

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 (

) are completely ignored.
I attach below an example of one my tagged comment:

`/*! \file cab.h`

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


\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);

Answer Source

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.


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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download