views:

249

answers:

3

I'm looking for a (preferably open source) tool that, given a large body of C/C++ code, will generate a visual or maybe XML graph of dependencies between classes (C++) and/or files (C).

The idea would be that, if you had to convert the code to another language, you'd like to be able to get the lowest level classes compiling first, and build up from there. So, you'd first need to identify which classes those are.

As far as I can tell, Doxygen doesn't have quite this capability, but I could be wrong.

+6  A: 

Doxygen will do some pretty neat graphs.

Jeff Barger
OK, maybe I underestimated it. This sample looks pretty good:http://users.actrix.co.nz/michael/jworktime/doxygen/index.html
Buggieboy
From the Doxygen manual: "If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen will [generate a] graphical hierarchy of all classes instead of a textual one."
Buggieboy
+1  A: 

Documentation and Reverse Engineering Tools

1) Doxygen

2) inSight (Unix, Linux, Windows)

3) Rational Rose

4) Source Navigator

5) BOUML

List of Non-commercial/Free UML tools

sat
A: 

I haven't used any open sources tools for this, but the Rhapsody UML tool does a good job of doing this. They used to give a 30 day free trial to anyone who asked, IBM just bought it so I don't know if they still do.
http://www-01.ibm.com/software/awdtools/rhapsody/ It will reverse C/C++/Java/Ada.

Zanson