Wypróbuj doxygen. Może być również wysyłany wraz z dystrybucją.
Możesz potrzebować GraphViz do generowania wykresów. Istnieje a simple example i output.
I to jest bardziej skomplikowany przykład z pliku legenda generowanego przez doxgen:
Code. (Uwaga: jeśli chcesz tylko generować wykresy, komentarze nie są wymagane):
/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};
Wynik:
ty nie potrzebę komentarza współpracy de, aby wygenerować te wykresy. Pierwszy przykład nie zawiera żadnych komentarzy. Drugi przykład ma jedną klasę bez komentarza w stylu Doxygen. Po prostu ustaw odpowiedni parametr (należy ustawić co najmniej EXTRACT_ALL = YES
. Nie pamiętam, czy to wszystko, co jest potrzebne).
Czy doxygen nie wymaga komentarza w określonym formacie, aby mógł później generować cokolwiek? Myślę, że to, o co prosi OP, to narzędzie, które może narysować diagram hierarchii klas, analizując kod: –
@ArmenTsirunyan Komentarze nie są wymagane, aby funkcja DoxyGen działała. Można go nawet używać w projekcie bez komentarza. Musisz tylko ustawić odpowiednie parametry. – fefe
@fefe: _To może być nawet użyte w projekcie bez komentarza._ Heh, myślałem, że to było prawie używane w projektach bez komentarzy, więc leniwi programiści mogliby powiedzieć: zobacz, mamy dokumentację dla naszego kodu! – ninjalj