2012-01-24 5 views

Odpowiedz

25

Można umieścić przykładowy kod źródłowy w specjalnej ścieżce zdefiniowanej w konfiguracji doxygen pod pozycją EXAMPLE_PATH, a następnie wstawić przykłady za pomocą znacznika @example.

Doxygen wygeneruje dodatkową stronę zawierającą źródło przykładu. Ustawi także link do niego z dokumentacji klas zawierającej przykładowy tag.

Alternatywnie, jeśli chcesz używać małych fragmentów kodu można wstawiać je @code ... @endcode

Dokumentacja dla tej jest tutaj: Doxygen documentation?

+0

Tak zrobiłem to, ale .cpp-plików w dodatkowym stronie są em pty:/ –

+0

hmmm czy doxygen daje jakieś ostrzeżenie lub błąd? – John

+0

Nie. Załączam przykładowe pliki w tagu INPUT, aw tagu EXAMPLE_PATH pliki z tagiem \ example ... nie wiem, jaka jest wina. –

1

Wystąpiły błędy przy użyciu @przykładu, aby dołączyć przykładowy plik do dokumentacji. To jest obejście, którego używałem.

Miejsce examplefile.cs w folderze/projekcie specjalnie na przykład kodu. Place tego folderu na liście Doxygen EXCLUDE (Expert-> Input-> EXCLUDEin Doxygen GUI frontend) oraz w EXAMPLE_PATH (Expert-> Input-> EXAMPLE_PATH w Doxygen GUI frontend)

Place to blok kodu gdzieś w udokumentowany file (I umieścić go w pliku przykładem jest za.)

/** @example examplefile.cs 
* A description of the example file, causes the example file to show up in 
* Examples */ 

To powoduje, że plik, aby pokazać się na podstawie przykładów z menu Doxygena, ale nie pojawiają się jako klasa/pliku w projekcie.

Następnie udokumentować klasa/funkcja:

/** @brief MyClass does something 
* @details I have something more long winded to say about it. See example 
* in examplefile.cs: @include examplefile.cs */ 

Powoduje to przykładowy plik do wydrukowania w jego całości w dokumentacji MojaKlasa.

14

Innym sposobem wykonania tej czynności jest użycie polecenia \snippet.

  • w pliku nagłówka napisać coś takiego:
\section ex1 Example 
\snippet path_to_test_class/TestClass.cpp TestClass example 
\section ex2 Expected output 
\snippet path_to_test_class/TestClass.cpp TestClass expected output 
  • W TestClass.plik cpp, mieć coś takiego:
//! [OptimizeSpeedOnTrackTest example] 
Class c; 
const double res = c.do_something(); 
//! [OptimizeSpeedOnTrackTest example] 
//! [OptimizeSpeedOnTrackTest expected output] 
ASSERT_DOUBLE_EQ(5,res); 
//! [OptimizeSpeedOnTrackTest expected output] 

path_to_test_class musi być w EXAMPLE_PATH.

To daje następujące:

  • Twoje przykłady są nie tylko tam dokumentacji: one zapewnić pokrycie testowego oraz
  • testu biegacza (& kompilator) daje ubezpieczeniowych, które twoje przykłady faktycznie kompilacji & bieg
  • to wpisuje się w dość ładnie w przepływie pracy TDD
+0

Używanie \ snippet jest tym, czego potrzebuję. Zauważyłem, że dostaję puste pole bez kodu, gdy dołączę \ krótki opis elementu, do którego chcę dołączyć \ snippet. –

+0

A-ha! ale użycie sekcji \ do dodania tytułu pozwala mi również dołączyć \ brief. –