Doxygen
An automatic source-code documentation generator.
Doxygen extracts API documentation from comments in C, C++, Java, Python, Fortran, and several other languages. Comments written in a particular format (Javadoc-style /** */ blocks, or //! single-line variants) are parsed alongside the source code, and the resulting cross-referenced HTML, LaTeX, RTF, or man-page output combines the prose with auto-generated class hierarchies, call graphs, and inheritance diagrams.
Dimitri van Heesch started Doxygen in 1997 and has continued to maintain it. The tool has the unusual property of being one of those quiet utilities that you don't notice until you join a large C or C++ project, at which point its output is suddenly familiar — the Linux kernel, Boost, FFmpeg, OpenSSL, Qt, and many other large codebases generate browsable API references with Doxygen.
For modern projects in newer languages there are usually more language-native tools (rustdoc, godoc, sphinx for Python), but in C and C++ Doxygen remains the dominant choice. Configuration is through a doxygen.cfg file with hundreds of options, which is either a strength or a weakness depending on your patience.
Install
Debian/Ubuntu: sudo apt install doxygen Fedora/RHEL: sudo dnf install doxygen Arch: sudo pacman -S doxygen macOS: brew install doxygen
Authors
- Dimitri van Heesch (creator)