Search code examples
javac++javadoc

Javadoc-like Documentation for C++


Are there similar documentation generation systems like Javadoc, for C++? Javadoc produces nice output; It would be great if you could use something like it in other languages.


Solution

  • There are several tools that works like JavaDoc for C++ The most popular tool is probably doxygen. It can handle JavaDoc-like comments, and also several languages (e.g., C++, C, Java, Objective-C, Python, PHP, C#). It has pretty good support for tweaking the style of the HTML output using CSS (see the users list for example documentations).

    Two important issues when choosing the documentation system is to make sure that it allows you to

    • Document the entities that you are interested in. Do you want to document the system following the code structure or according to some other module division.
    • Getting the output formatted as you want. It is preferable when the documentation fits in with your general project style.

    Our experience with doxygen is that it is pretty easy to set up and use, and the resulting output is fairly easy to tweak. Unfortunately, doxygen is not perfect, so in some cases it is necessary to work around quirks or bugs where the doxygen parser breaks down. Be sure to inspect all of your generated documentation carefully.