Doxygen - Our favorite Documentation Generator

Statements from the developers:
Doxygen is a documentation system for C++, C, Java, Objective-C, IDL (Corba and Microsoft flavors) and to some extent PHP, C# and D.

It can help you in three ways:

  1. It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.
  2. You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. You can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
  3. You can even `abuse' doxygen for creating normal documentation (as I did for this manual).

Doxygen is developed under Linux and Mac OS X, but is set-up to be highly portable. As a result, it runs on most other Unix flavors as well. Furthermore, executables for Windows are available.“

We use Doxgen to generate source code documentations in html format for RealTimeBattle and for the RTB-Team-Framework. We also tried KDOC, but Doxygen became our favorite documentation generator.

For us the most interesting features of Doxygen are the ability to generate UML diagrams, a PHP search engine and the integration of higlighted and browseable source code parts everywere in the generated documents.

In the daily work with the RealTimeBattle sources we use SourceNavigator to browse through the code. But the documentation we generated with Doxygen is even a better tool for reading source files. You simply start with the source file containing the main method and continue browsing through the related classes to understand things going on there. Whereever you are the doxygen documentation helps you to find your way.

Infos:
Doxygen Website
Doxygen Documentation

Files:
Download Doxygen

Documents we made with Doxygen:
RealTimeBattle-Documentation generated with Doxygen
RTB-Team-Framework-Documentation generated with Doxygen

Screenshots: