Javadoc-like Documentation for C++

Solution 1:

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.

Solution 2:

You can't use javadoc specifically, but there are a couple of tools that do what you want. The one most people tend to use is Doxygen. Here are some links for Doxygen and Doc++:

Doxygen
Doc++

Solution 3:

There's doxygen that supports a lot of things (and more) Doxygen

Solution 4:

There is also qdoc for QT based C++ projects. http://doc-snapshot.qt-project.org/qdoc

Solution 5:

I'm just starting to use Sphinx for my Python projects. Its home page states "C/C++ is already supported as well".

It uses a lightweight markup called "reStructuredText".

I've just started using it for my Python projects, and like the look of the output very much.