Zum Inhalt springen

„Doxygen“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
ChristianHujer (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Mehr wikidata in Infobox
 
(221 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden)
Zeile 1: Zeile 1:
{{Infobox Software
'''Doxygen''' ist ein [[Software-Dokumentationswerkzeug]], das aus [[Quelltext]]en verschiedener [[Programmiersprache]]n automatisch eine Dokumentation erstellt. Dazu müssen spezielle Kommentare im Quelltext eingefügt werden.
|Screenshot = [[Datei:Doxygen-1.8.1.png|250px|Screenshot]]
|Beschreibung = Eine mit Doxygen erzeugte Dokumentation einer C++-Klasse
|Hersteller = Dimitri van Heesch
|AktuelleVersion = <!-- aus Wikidata - https://www.wikidata.org/wiki/Q1253530 -->
|AktuelleVersionFreigabeDatum = <!-- aus Wikidata - https://www.wikidata.org/wiki/Q1253530 -->
|Betriebssystem = [[Linux]], [[macOS]], [[Solaris (Betriebssystem)|Solaris]], [[Unix]], [[Microsoft Windows NT|Windows]]
|Programmiersprache = <!-- aus Wikidata - https://www.wikidata.org/wiki/Q1253530 -->
|Kategorie = [[Software-Dokumentationswerkzeug]]
|Lizenz = <!-- aus Wikidata - https://www.wikidata.org/wiki/Q1253530 -->
|Deutsch = ja
|Website = <!-- aus Wikidata - https://www.wikidata.org/wiki/Q1253530 -->
}}


'''Doxygen''' ist ein [[Freie Software|freies]] [[Software-Dokumentationswerkzeug]] unter der [[GNU General Public License]].
Doxygen unterstützt die Programmiersprachen [[Cplusplus|C++]], [[C (Programmiersprache)|C]], [[Java (Programmiersprache)|Java]], [[Objective-C]], [[IDL]], [[PHP]], [[C#]], [[D (Programmiersprache)|D]] und [[Actionscript]].


== Hintergrund und Motivation ==
Die Dokumentation kann in den Formaten [[HTML]], [[RTF]], [[PostScript]], [[PDF]], und als [[Man page]]s erzeugt werden.
Durch spezielle Kommentare im [[Quelltext]] können [[Softwareentwickler]] Erläuterungen zu Programmelementen definieren, aus denen Doxygen eine übersichtliche [[Softwaredokumentation#Programmiererdokumentation|Dokumentation]] erstellt. Außerdem ist es möglich, einen zusammenfassenden Überblick über den Aufbau und die Elemente eines bereits existierenden [[Computerprogramm|Programms]] (verwendete [[Datei]]en, [[Funktion (Programmierung)|Funktionen]], [[Variable (Programmierung)|Variablen]] sowie deren jeweilige Rolle im Programmablauf) zu erzeugen.


Das Ziel einer solchen Dokumentationsmethode ist die Vermeidung von Redundanz und die Steigerung der Übersichtlichkeit des Codes. Die Dokumentation im Quelltext selbst kann dabei helfen, das Auseinanderdriften zwischen den Programmstrukturen (Funktionen, Klassen, Methoden usw.) und der Dokumentation zu verringern.
== Siehe auch ==

* [[JavaDoc]], Dokumentationswerkzeug speziell für Java
Als [[grafische Benutzeroberfläche]] dient der sogenannte '''Doxywizard''', mit dem die [[Konfiguration (Computer)|Einstellungen]], welche Art und Form der Dokumentationserzeugung steuern, einfach vorgenommen werden können.
* [[XmlDoc]], Dokumentationswerkzeug speziell für [[C#]]

Die meisten gängigen Entwicklungsumgebungen ([[Integrierte Entwicklungsumgebung|IDE]]) unterstützen Doxygen durch [[Syntaxhervorhebung]].

Die erste Doxygen-Version verwendete Quelltext von DOC++, das am [[Konrad-Zuse-Zentrum für Informationstechnik Berlin|Zuse-Institut Berlin]] von Roland Wunderling und Malte Zöckler entwickelt wurde.

Doxygen ist kompatibel zur [[Versionierung|Code-Versionierung]] mit [[Subversion (Software)|Subversion]], womit automatisch erzeugte Codes für Autoren, Bearbeiter, Datum und Zeitpunkt des Eincheckens in die Doxygen-Dokumentation übernommen werden können.

== Unterstützte Programmiersprachen ==
Unterstützte Programmiersprachen sind [[C++]], [[C (Programmiersprache)|C]], [[Objective-C]], [[Java (Programmiersprache)|Java]], [[Python (Programmiersprache)|Python]], [[Fortran]] und [[Interface Description Language|IDL]]. Sie werden in ihrem vollen Sprachumfang unterstützt. Mit Einschränkungen ist auch die Kommentierung von [[PHP]], [[C-Sharp|C#]], [[D (Programmiersprache)|D]] und [[Very High Speed Integrated Circuit Hardware Description Language|VHDL]] möglich. Ab Version 1.7.5 wird [[Tcl]] unterstützt. Durch zusätzliche Filter kann auch Quellcode in [[Perl (Programmiersprache)|Perl]] oder [[Object Pascal]] bearbeitet werden.

== Unterstützte Ausgabeformate ==
Als Ausgabeformat unterstützt Doxygen [[Hypertext Markup Language|HTML]], [[CHM (Dateiformat)|CHM]], [[LaTeX]], [[Extensible Markup Language|XML]], [[Rich Text Format|RTF]], [[PostScript]], [[PDF]], [[Manpage]]s und [[Markdown]].<ref>{{Internetquelle |url=https://www.doxygen.nl/manual/markdown.html |titel=Doxygen Manual: Markdown support |abruf=2020-08-20}}</ref> Auch lassen sich entsprechende Steuerdaten für die Erstellung von Hilfedateien für das Hilfesystem von [[Qt (Bibliothek)|Qt]] erstellen. Ab Version 1.8.8 wird auch [[PlantUML]] unterstützt, um [[Unified Modeling Language#Diagramme|UML-Diagramme]] zu erstellen.<ref>{{Internetquelle |url=https://www.doxygen.nl/manual/changelog.html |titel=Doxygen Manual: Changelog |abruf=2020-08-20}}</ref>

== Beispiel ==
Die Dokumentierung einer Funktion kann wie folgt in den Quelltext eingebettet werden (hier in der Programmiersprache C):
<syntaxhighlight lang="c">
/**
* \brief Exemplarische Funktion
*
* Diese Funktion gibt den übergebenen Parameter
* auf der Konsole aus.
*
* \param parameter Auszugebender Parameter
* \return Status-Code
*
*/
int funktion(int parameter)
{
printf("Parameter: %d", parameter);

return 0;
}
</syntaxhighlight>

== Ähnliche Werkzeuge ==
* [[Javadoc]], [[Natural Docs]], [[phpDocumentor]], ASDoc, ROBODoc, Sandcastle, AutoDuck, pydoc, HeaderDoc, [[Plain Old Documentation]], [[Sphinx (Software)|Sphinx]], [[WEB (Programmiersprache)|CWEB]].


== Weblinks ==
== Weblinks ==
{{Commonscat}}
* http://www.doxygen.org/ Doxygen Homepage (Englisch)
{{Wikibooks|C++-Programmierung: Dokumentation mit Doxygen}}
* [https://www.doxygen.nl/ doxygen.nl] (englisch)
* [https://sourceforge.net/projects/pas2dox/ Pas2Dox: Ein Pascal-Filter für Doxygen] (englisch)

== Einzelnachweise ==
<references />


[[Kategorie:Programmierung]]
[[Kategorie:Freies Programmierwerkzeug]]
[[Kategorie:Qt-basierte Software]]
[[Kategorie:Linux-Software]]
[[Kategorie:MacOS-Software]]
[[Kategorie:Windows-Software]]

Aktuelle Version vom 14. Februar 2024, 17:21 Uhr

Doxygen

Screenshot
Eine mit Doxygen erzeugte Dokumentation einer C++-Klasse
Basisdaten

Entwickler Dimitri van Heesch
Erscheinungsjahr 26. Oktober 1997[1]
Aktuelle Version 1.14.0[2]
(24. Mai 2025)
Betriebssystem Linux, macOS, Solaris, Unix, Windows
Programmier­sprache C++
Kategorie Software-Dokumentationswerkzeug
Lizenz GNU General Public License, Version 2[3]
deutschsprachig ja
www.doxygen.org

Doxygen ist ein freies Software-Dokumentationswerkzeug unter der GNU General Public License.

Hintergrund und Motivation

[Bearbeiten | Quelltext bearbeiten]

Durch spezielle Kommentare im Quelltext können Softwareentwickler Erläuterungen zu Programmelementen definieren, aus denen Doxygen eine übersichtliche Dokumentation erstellt. Außerdem ist es möglich, einen zusammenfassenden Überblick über den Aufbau und die Elemente eines bereits existierenden Programms (verwendete Dateien, Funktionen, Variablen sowie deren jeweilige Rolle im Programmablauf) zu erzeugen.

Das Ziel einer solchen Dokumentationsmethode ist die Vermeidung von Redundanz und die Steigerung der Übersichtlichkeit des Codes. Die Dokumentation im Quelltext selbst kann dabei helfen, das Auseinanderdriften zwischen den Programmstrukturen (Funktionen, Klassen, Methoden usw.) und der Dokumentation zu verringern.

Als grafische Benutzeroberfläche dient der sogenannte Doxywizard, mit dem die Einstellungen, welche Art und Form der Dokumentationserzeugung steuern, einfach vorgenommen werden können.

Die meisten gängigen Entwicklungsumgebungen (IDE) unterstützen Doxygen durch Syntaxhervorhebung.

Die erste Doxygen-Version verwendete Quelltext von DOC++, das am Zuse-Institut Berlin von Roland Wunderling und Malte Zöckler entwickelt wurde.

Doxygen ist kompatibel zur Code-Versionierung mit Subversion, womit automatisch erzeugte Codes für Autoren, Bearbeiter, Datum und Zeitpunkt des Eincheckens in die Doxygen-Dokumentation übernommen werden können.

Unterstützte Programmiersprachen

[Bearbeiten | Quelltext bearbeiten]

Unterstützte Programmiersprachen sind C++, C, Objective-C, Java, Python, Fortran und IDL. Sie werden in ihrem vollen Sprachumfang unterstützt. Mit Einschränkungen ist auch die Kommentierung von PHP, C#, D und VHDL möglich. Ab Version 1.7.5 wird Tcl unterstützt. Durch zusätzliche Filter kann auch Quellcode in Perl oder Object Pascal bearbeitet werden.

Unterstützte Ausgabeformate

[Bearbeiten | Quelltext bearbeiten]

Als Ausgabeformat unterstützt Doxygen HTML, CHM, LaTeX, XML, RTF, PostScript, PDF, Manpages und Markdown.[4] Auch lassen sich entsprechende Steuerdaten für die Erstellung von Hilfedateien für das Hilfesystem von Qt erstellen. Ab Version 1.8.8 wird auch PlantUML unterstützt, um UML-Diagramme zu erstellen.[5]

Die Dokumentierung einer Funktion kann wie folgt in den Quelltext eingebettet werden (hier in der Programmiersprache C):

 /**
  * \brief Exemplarische Funktion
  *
  *     Diese Funktion gibt den übergebenen Parameter
  *     auf der Konsole aus.
  *
  * \param	parameter  Auszugebender Parameter
  * \return	      Status-Code
  *
  */
 int funktion(int parameter)
 {
     printf("Parameter: %d", parameter);

     return 0;
 }

Ähnliche Werkzeuge

[Bearbeiten | Quelltext bearbeiten]
Commons: Doxygen – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. web.archive.org.
  2. Doxygen release 1.14.0. 24. Mai 2025 (abgerufen am 25. Mai 2025).
  3. sourceforge.net. In: SourceForge. (abgerufen am 29. September 2016).
  4. Doxygen Manual: Markdown support. Abgerufen am 20. August 2020.
  5. Doxygen Manual: Changelog. Abgerufen am 20. August 2020.