GDOC is a C Documentation Tool.
Here are some key features of "GDOC":
· Keeps software and manual in sync.
· Improves source code readability by having extensive comments available directly.
· Improves manual as developers will more likely update the comments when they change source code.
· Support several output formats, such as Texinfo, MAN, DocBook, Doxygen, GTK-DOC tools, LaTeX, HTML.
· Only perl is required, and only for the developers (end-users do not need to have perl installed).
Then start to comment your source code. See the comments in 'gdoc' for the full story, but here is an example:
/**
* stringprep_utf8_to_locale:
* @str: input zero terminated string.
*
* Convert string encoded in UTF-8 into the locale's character set by
* using stringprep_convert().
*
* Return value: Returns newly allocated zero-terminated string which
* is @str transcoded into the locale's character set.
**/
char *
stringprep_utf8_to_locale (const char *str)
{
return stringprep_convert (str, stringprep_locale_charset (), "UTF-8");
}
You can then extract Man pages, Texinfo fragments, etc, using 'gdoc' as follows:
$ gdoc -texinfo file.c
@deftypefun {char *} {stringprep_utf8_to_locale} (const char * @var{str})
@var{str}: input zero terminated string.
Convert string encoded in UTF-8 into the locale's character set by
using @code{stringprep_convert()}.
@strong{Return value:} Returns newly allocated zero-terminated string which
is @code{str} transcoded into the locale's character set.
@end deftypefun
$
To simplify generating Texinfo fragments or Man pages for your entire project -- which might contain many files, each contain many functions, that would result in lots of boring Makefile rules to keep track of -- I use a Automake 'include' file to simplify matters.
What's New in This Release:
· added -texinfo, -listfunc
· man page revamp
· various improvements
Product's homepage