Quickstart Doxygen: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Einleitung == Dieser Artikel soll eine Hilfe sein, beim erstellen oder aktualisieren von Dokumentationen von Quellcode mit Doxygen. == Was ist Doxygen == == Anleitung == = Schritt 1: Doxygen installieren = Als erstes sollten sie überprüfen, ob Doxygen schon installiert ist. Dafür können Sie zum Beispiel in der Windows-Suchleiste nach "Doxywizard" suchen. Sollten sie dieses Programm nicht haben, ist Doxygen nicht auf ihrem Gerät installiert. Um…“) |
|||
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
== Was ist Doxygen == | == Was ist Doxygen == | ||
Doxygen ist ein Tool womit Quellcode-Dokumentationen der Sprachen C,C++ oder HTML. | |||
== Anleitung == | == Anleitung == | ||
= Schritt 1: Doxygen installieren = | === Schritt 1: Doxygen installieren === | ||
Als erstes sollten sie überprüfen, ob Doxygen schon installiert ist. Dafür können Sie zum Beispiel in der Windows-Suchleiste nach "Doxywizard" suchen. | Als erstes sollten sie überprüfen, ob Doxygen schon installiert ist. Dafür können Sie zum Beispiel in der Windows-Suchleiste nach "Doxywizard" suchen. | ||
Sollten sie dieses Programm nicht haben, ist Doxygen nicht auf ihrem Gerät installiert. | Sollten sie dieses Programm nicht haben, ist Doxygen nicht auf ihrem Gerät installiert. | ||
Zeile 14: | Zeile 15: | ||
= Schritt 2: Doxygen-Konfigurationsdatei erstellen = | === Schritt 2: Doxygen-Konfigurationsdatei erstellen === | ||
Um in Doxygen eine Konfigurationsdatei zu erstellen, müssen sie im Doxywizard auf den Reiter "Expert" umschalten. | |||
= Schritt 3: Konfigurationsdatei anpassen = | === Schritt 3: Konfigurationsdatei anpassen === | ||
Sollten Sie schon eine bestehende Konfigurationsdatei für ihr Doxygen Projekt haben, können Sie diese Anpassen in dem Sie sie über "File->Open" in Doxywizard laden und dann unter dem Reiter "Expert" anpassen. | |||
= Schritt 4: Kommentare in deinem Code hinzufügen = | === Schritt 4: Kommentare in deinem Code hinzufügen === | ||
Kommentare in dem C-Code können einfach über das C-Projekt selber eingefügt werden. Es gibt allerdings Tags die Doxygen erkennt und diese anders verarbeitet. | |||
{| class="wikitable" | |||
|+ C-Code Tags | |||
|- | |||
! Tag !! Target !! Bedeutung !! Beispiel | |||
|- | |||
| brief || Modul, Datei, Funktion || Kurzbeschreibung || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @brief Berechnet die Summe von zwei Ganzzahlen | |||
*/ </syntaxhighlight> | |||
|- | |||
| details || Modul, Datei, Funktion || Ausführliche Beschreibung des Verhaltens || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @brief Berechnet die Summe von zwei Ganzzahlen | |||
* @details Diese Funktion nimmt zwei Integer als Eingabe und addiert diese zusammen und gibt ihre Summe zurück. | |||
*/ </syntaxhighlight> | |||
|- | |||
| param || Parameter || Beschreibung des Funktionsparameters || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @param a Der erste zu addierende Integer. | |||
* @param b Der zweite zu addierende Integer. | |||
*/ </syntaxhighlight> | |||
|- | |||
| return || Funktion || Beschreibung des Rückgabewerts || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @return Die Summe von a und b. | |||
*/ </syntaxhighlight> | |||
|- | |||
| retval || Funktion || Beschreibung möglicher Rückgabewerte || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @retval 0 Erfolgreich. | |||
* @retval -1 Fehlerhafte Eingabe. | |||
*/ </syntaxhighlight> | |||
|- | |||
| author || Modul, Datei, Funktion || Gibt den Autor des Codes an || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @author Daniel Mustermann | |||
/* </syntaxhighlight> | |||
|- | |||
| version || Modul, Datei, Funktion || Gibt die Versionsnummer des Codes an || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @version 1.0 | |||
*/ </syntaxhighlight> | |||
|- | |||
| see || Modul, Datei, Funktion || Gibt Verweise auf andere Funktionen oder Klassen an || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @see multiply() | |||
*/ </syntaxhighlight> | |||
|- | |||
| deprecated || Modul, Datei, Funktion || Markiert eine Funktion, Klasse oder Modul als veraltet || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @deprecated Diese Funktion wird in der nächsten Version entfernt | |||
*/ </syntaxhighlight> | |||
|- | |||
| warning || Modul, Datei, Funktion || Fügt eine Warnung für den Benutzer hinzu || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @warning Diese Funktion darf nicht als Interrupt verwendet werden! | |||
/* </syntaxhighlight> | |||
|- | |||
| struct || Struktur || Beschreibt eine Struktur || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @struct Point | |||
* @brief Stellt einen Punkt im 2D-Raum dar. | |||
*/ | |||
struct Point { | |||
int x; | |||
int y; | |||
}; | |||
</syntaxhighlight> | |||
|- | |||
| union || Union || Beschreibt eine Union-Datenstruktur || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @union Data | |||
* @brief Eine Union, die entweder einen Integer oder einen Float speichert. | |||
*/ | |||
union Data { | |||
int i; | |||
float f; | |||
}; | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| enum || Enum || Beschreibt eine Aufzählung || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @enum Color | |||
* @brief Enumeration für Farben. | |||
*/ | |||
enum Color { | |||
RED, | |||
GREEN, | |||
BLUE | |||
}; | |||
</syntaxhighlight> | |||
|- | |||
| var || Klasse, Struktur || Dokumentiert eine Variable oder ein Datenmitglied || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @var int x | |||
* @brief Die x-Koordinate des Punkts. | |||
*/ | |||
int x; | |||
</syntaxhighlight> | |||
|- | |||
| class || Klasse || Dokumentiert eine Klasse || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @class Shape | |||
* @brief Abstrakte Klasse für Formen. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| namespace || Namespace || Dokumentiert einen Namespace || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @namespace mynamespace | |||
* @brief Namespace für spezielle Funktionen. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| file || Datei || Gibt den Dateinamen an || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @file example.c | |||
* @brief Diese Datei enthält Beispielcode. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| ingroup || Code-Element || Ordnet Code zu Gruppen zusammen || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @ingroup MathFunctions | |||
* @brief Diese Funktion gehört zur Gruppe der mathematischen Funktionen. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| def || Definition || Dokumentiert ein #define-Definition || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @def PI | |||
* @brief Wert der Zahl Pi. | |||
*/ | |||
#define PI 3.14159 | |||
</syntaxhighlight> | |||
|- | |||
| todo || Modul, Datei, Funktion || Dokumentiert eine zukünftige Veränderung || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @todo Fehlerbehandlung verbessern. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| bug || Modul, Datei, Funktion || Dokumentiert fehlerhaften Code || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @bug Diese Funktion gibt bei negativen Zahlen falsche Ergebnisse zurück. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| test || Test-Funktion || Dokumentiert einen Testfall || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @test Test mit den Werten 1 und 2 für die Summe. | |||
*/ | |||
</syntaxhighlight> | |||
|- | |||
| dot || Überall || Fügt DOT-Code für ein Graphviz-Diagramm hinzu || <syntaxhighlight lang="cpp" style="border: none; background-color: #8f5e15; font-size:small"> | |||
/** | |||
* @dot | |||
* digraph G { | |||
* A -> B; | |||
* B -> C; | |||
* } | |||
* @enddot | |||
*/ | |||
</syntaxhighlight> | |||
|} | |||
= Schritt 5: Dokumentation generieren = | === Schritt 5: Dokumentation generieren === | ||
Am Schluss müssen Sie nur noch auf den Knopf "Fertig stellen" klicken und die Dokumentation sowie gegebenenfalls die Konfigurationsdatei wird erstellt |
Aktuelle Version vom 18. Oktober 2024, 11:16 Uhr
Einleitung
Dieser Artikel soll eine Hilfe sein, beim erstellen oder aktualisieren von Dokumentationen von Quellcode mit Doxygen.
Was ist Doxygen
Doxygen ist ein Tool womit Quellcode-Dokumentationen der Sprachen C,C++ oder HTML.
Anleitung
Schritt 1: Doxygen installieren
Als erstes sollten sie überprüfen, ob Doxygen schon installiert ist. Dafür können Sie zum Beispiel in der Windows-Suchleiste nach "Doxywizard" suchen. Sollten sie dieses Programm nicht haben, ist Doxygen nicht auf ihrem Gerät installiert.
Um Doxygen nun zu installieren, laden Sie sich hier die aktuelle Version herunter.
Schritt 2: Doxygen-Konfigurationsdatei erstellen
Um in Doxygen eine Konfigurationsdatei zu erstellen, müssen sie im Doxywizard auf den Reiter "Expert" umschalten.
Schritt 3: Konfigurationsdatei anpassen
Sollten Sie schon eine bestehende Konfigurationsdatei für ihr Doxygen Projekt haben, können Sie diese Anpassen in dem Sie sie über "File->Open" in Doxywizard laden und dann unter dem Reiter "Expert" anpassen.
Schritt 4: Kommentare in deinem Code hinzufügen
Kommentare in dem C-Code können einfach über das C-Projekt selber eingefügt werden. Es gibt allerdings Tags die Doxygen erkennt und diese anders verarbeitet.
Tag | Target | Bedeutung | Beispiel |
---|---|---|---|
brief | Modul, Datei, Funktion | Kurzbeschreibung | /**
* @brief Berechnet die Summe von zwei Ganzzahlen
*/
|
details | Modul, Datei, Funktion | Ausführliche Beschreibung des Verhaltens | /**
* @brief Berechnet die Summe von zwei Ganzzahlen
* @details Diese Funktion nimmt zwei Integer als Eingabe und addiert diese zusammen und gibt ihre Summe zurück.
*/
|
param | Parameter | Beschreibung des Funktionsparameters | /**
* @param a Der erste zu addierende Integer.
* @param b Der zweite zu addierende Integer.
*/
|
return | Funktion | Beschreibung des Rückgabewerts | /**
* @return Die Summe von a und b.
*/
|
retval | Funktion | Beschreibung möglicher Rückgabewerte | /**
* @retval 0 Erfolgreich.
* @retval -1 Fehlerhafte Eingabe.
*/
|
author | Modul, Datei, Funktion | Gibt den Autor des Codes an | /**
* @author Daniel Mustermann
/*
|
version | Modul, Datei, Funktion | Gibt die Versionsnummer des Codes an | /**
* @version 1.0
*/
|
see | Modul, Datei, Funktion | Gibt Verweise auf andere Funktionen oder Klassen an | /**
* @see multiply()
*/
|
deprecated | Modul, Datei, Funktion | Markiert eine Funktion, Klasse oder Modul als veraltet | /**
* @deprecated Diese Funktion wird in der nächsten Version entfernt
*/
|
warning | Modul, Datei, Funktion | Fügt eine Warnung für den Benutzer hinzu | /**
* @warning Diese Funktion darf nicht als Interrupt verwendet werden!
/*
|
struct | Struktur | Beschreibt eine Struktur | /**
* @struct Point
* @brief Stellt einen Punkt im 2D-Raum dar.
*/
struct Point {
int x;
int y;
};
|
union | Union | Beschreibt eine Union-Datenstruktur | /**
* @union Data
* @brief Eine Union, die entweder einen Integer oder einen Float speichert.
*/
union Data {
int i;
float f;
};
*/
|
enum | Enum | Beschreibt eine Aufzählung | /**
* @enum Color
* @brief Enumeration für Farben.
*/
enum Color {
RED,
GREEN,
BLUE
};
|
var | Klasse, Struktur | Dokumentiert eine Variable oder ein Datenmitglied | /**
* @var int x
* @brief Die x-Koordinate des Punkts.
*/
int x;
|
class | Klasse | Dokumentiert eine Klasse | /**
* @class Shape
* @brief Abstrakte Klasse für Formen.
*/
|
namespace | Namespace | Dokumentiert einen Namespace | /**
* @namespace mynamespace
* @brief Namespace für spezielle Funktionen.
*/
|
file | Datei | Gibt den Dateinamen an | /**
* @file example.c
* @brief Diese Datei enthält Beispielcode.
*/
|
ingroup | Code-Element | Ordnet Code zu Gruppen zusammen | /**
* @ingroup MathFunctions
* @brief Diese Funktion gehört zur Gruppe der mathematischen Funktionen.
*/
|
def | Definition | Dokumentiert ein #define-Definition | /**
* @def PI
* @brief Wert der Zahl Pi.
*/
#define PI 3.14159
|
todo | Modul, Datei, Funktion | Dokumentiert eine zukünftige Veränderung | /**
* @todo Fehlerbehandlung verbessern.
*/
|
bug | Modul, Datei, Funktion | Dokumentiert fehlerhaften Code | /**
* @bug Diese Funktion gibt bei negativen Zahlen falsche Ergebnisse zurück.
*/
|
test | Test-Funktion | Dokumentiert einen Testfall | /**
* @test Test mit den Werten 1 und 2 für die Summe.
*/
|
dot | Überall | Fügt DOT-Code für ein Graphviz-Diagramm hinzu | /**
* @dot
* digraph G {
* A -> B;
* B -> C;
* }
* @enddot
*/
|
Schritt 5: Dokumentation generieren
Am Schluss müssen Sie nur noch auf den Knopf "Fertig stellen" klicken und die Dokumentation sowie gegebenenfalls die Konfigurationsdatei wird erstellt