2011-12-14 15 views

Odpowiedz

12

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:

enter image description here

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).

+1

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: –

+4

@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

+1

@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

1

Jeśli używasz środowiska Eclipse jako IDE, możesz użyć hierarchii typów, aby wyświetlić hierarchię klas.

Powiązane problemy