Javadoc-like Documentation for C++

JavaC++Javadoc

Java Problem Overview


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.

Java Solutions


Solution 1 - Java

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 - Java

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 - Java

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

Solution 4 - Java

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

Solution 5 - Java

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDHamrickView Question on Stackoverflow
Solution 1 - JavaZayenzView Answer on Stackoverflow
Solution 2 - JavadreadwailView Answer on Stackoverflow
Solution 3 - JavaGrant LimbergView Answer on Stackoverflow
Solution 4 - JavaYairView Answer on Stackoverflow
Solution 5 - JavaDan HView Answer on Stackoverflow