cdoc is an Open Source C documentation utility that was written in Java for maximum portability.

It's purpose is to automatically generate neatly formatted, readable documentation from one or more C header files and the associated C source files. The documentation takes the form of a set of linked HTML pages which may be displayed by any browser that complies with the HTML 4.01 standard. The page formats have been checked to be standards compliant using the W3 Consortium's HTML tidy utility. The document set has been designed for frames-enabled browsers, but will automatically detect when a browser does not support frames and adjust its display accordingly.

The program documents publicly declared functions, data types, constants and variables in C libraries and programs. Public items are defined to be those whose declarations and prototypes appear in header files. Typedefs, variables, constants and functions declared in source files and not appearing in the header file will not be documented because they are assumed to be private to the source file and hence not to be accessed by external calling code.

Comments used by cdoc to generate descriptions in the documentation set may contain HTML paragraph formatting tags. Tags controlling bolding, italics, underline, preformatting, emphasis, keyboard input, linebreaks, horizontal rules, paragraphs, headings, bulletted lists, numbered lists, and definition lists are all preserved and will affect the documentation layout. All other tags are converted into literal text by escaping < and >. & characters are escaped to preserve them.


You can get the source and JAR files from the cdoc project at

Documentation and examples