Reputation: 199
No documentation is generated for any of the functions for my C repo
My configuration:
# Difference with default Doxyfile 1.9.1
PROJECT_NAME = WLib
OUTPUT_DIRECTORY = doxy
OPTIMIZE_OUTPUT_FOR_C = YES
EXTRACT_ALL = YES
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = YES
INPUT = .
FILE_PATTERNS = *.c \
*.h
RECURSIVE = YES
Edit the code:
/** \fn Array Fill
* \param sa size of the array A in bytes
* \param a the array A
* \param sb size of the array B in bytes
* \param b the array B
* \brief Takes two arrays and their sizes. Fills the array A with as many
* instances of array B as the size of array A can handle.
* \return The array A
* Method:
* -# If /e a = NULL, then the array of size /e sa will be allocated
* -# If /e b = NULL and /e sb = 0, then array will be filled with zeros
* -# If /e sb = 0, the function does nothing and returns NULL
* -# Declares a variable /e i, this is be the pointer offset
* -# Assignes array /e b to array /e a offsetted by /e i, and incriments
* /e i by /e sb. This step is repeated until less than sb bytes are
* left untreated
* -# Assignes the remaining part of array /e a with whatever piece of
* array /e b fits
*/
VO* afl(register const U16 sa,
register VO* a,
register U8 sb,
register const VO* b ) {
...
}
Upvotes: 1
Views: 435
Reputation: 9077
The supplied code gives directly an answer when running it, it gives the warning:
warning: documented symbol 'Array Fill' was not declared or defined.
when looking at the code we see here:
\fn Array Fill
but from the documentation we learn:
\fn (function declaration)
Indicates that a comment block contains documentation for a function (either global or as a member of a class). This command is only needed if a comment block is not placed in front (or behind) the function declaration or definition.
If your comment block is in front of the function declaration or definition this command can (and to avoid redundancy should) be omitted.
A full function declaration including arguments should be specified after the \fn command on a single line, since the argument ends at the end of the line!
and furthermore in the given example in the documentaion:
const char *member(char,int) throw(std::out_of_range);
and
/*! \fn const char *Fn_Test::member(char c,int n)
* \brief A member function.
* \param c a character.
* \param n an integer.
* \exception std::out_of_range parameter is out of range.
* \return a character pointer.
*/
in other words the syntax for the \fn
command should be in this case:
\fn VO* afl(register const U16 sa, register VO* a, register U8 sb, register const VO* b)
Note:
\fn
command is typically for the usage when the documentation of a function is not directly in font of the function. In the case of the issue the \fn
command is not necessary.\fn
here is used in the context of the \brief
command and the used \brief
command in the context of the \details
command.Upvotes: 2