CxxCodeBrowser is a C/C++ code indexer and a code navigator GUI.
The indexer uses Clang's libraries to parse translation units. The
output is a binary index file, optimized for fast creation, fast lookup,
and small size.
It generally indexes a project in about the same amount of time needed to
build it.
The input to the indexer is a
compile_commands.json
file listing
all of the command lines that compile a source file to an object file.
The CxxCodeBrowser project includes an LD_PRELOAD
library that collects a trace of executed commands and a tool that converts
this trace into a compile_commands.json
file.
Using this tool allows for indexing projects without needing to integrate
with their build systems, as long as the C/C++ code is mostly buildable
with Clang. (Build errors do not generally stop the indexer.)
This tool has been used to index GCC, LLVM, Firefox, Qt, and the Linux
kernel.
The navigator GUI is demonstrated in the animations above.
There has not yet been a release, so there are no official downloads yet. The source code is available on the GitHub project page. Follow that link for build instructions and usage information. Currently, CxxCodeBrowser works on Linux and OS X, and the code is mostly ported to FreeBSD and Windows.
Email the author with comments or questions.