Doxygen is the de facto standard tool for generating documentation from annotated C++ and other languages like C#, Java, Python, PHP etc.
It is used by other tools like Code Graph.
Also see article Generate UML with Doxygen.
Ranked in these QuestionsQuestion Ranking
Doxygen is compatible with multiple languages. Including but not limited to: C, Objective-C, C#, C++, Java, Python, PHP etc...
Pro Generates documentation from comments
Doxygen can generate documentation from formatted comments in the source code. This is extremely useful when writing detailed man pages.
Con i18n support is poor
Cannot work properly with non-ascii paths on Windows
Con PDF output is very problematic
Doxygen PDF output relies on the now broken LaTeX tabu package which was abandoned over a decade ago by its developer.
Con No recursive inclusion
For example, if you specify
INCLUDE_PATH=incl, it doesn't search other folders included in the
incl folder (
incl/sub2) and there's no option to turn on recursive inclusion.