2014-07-14 7 views
5

Ich habe Doxygen seit Jahren mit C++ - Code verwendet. Ich möchte es mit etwas C-Code verwenden, an dem ich arbeite, aber die Ausgabe ist nicht optimal. Die Registerkarte "Klassen" in der oberen Leiste zeigt nur die struct Definitionen, nicht die Funktionen in der Datei. Ich muss auf die Registerkarte "Dateien" und dann auf den Namen der Header-Datei klicken, um die enthaltenen Funktionen anzuzeigen.Doxygen-Ausgang für C

Gibt es eine Möglichkeit, die Ausgabe von Doxygen zu ändern, so dass es besser geeignet ist, in C geschriebenen Code zu schreiben? Oder zumindest die Registerkarte "Klassen" entfernen und nur die Ansicht "Dateien" bereitstellen?

+0

i/** * @defgroup MY_C_CLASS * @ { * / – MichaelMoser

Antwort

3

Wenn Sie eine Layout-Datei zusätzlich zu der normalen Konfigurationsdatei zu erstellen:

doxygen -l layout.xml 

Sie können das bearbeiten; Dies steuert das Grundformat der Schnittstelle. Wenn Sie die „Klassen“ Registerkarte entfernen möchten, suchen:

<tab type="classes" visible="yes" title="Types"> 
    [...] 
</tab> 

Und es entfernen oder visible ändern, um „Nein“.

C-Funktionen und -Datentypen sind in der Regel in zufälliger Reihenfolge in Dateien gruppiert, so dass die Registerkarte "Dateien" allein für Sie ausreichend sein kann. Wenn nicht, verwenden Gruppen:

\ingroup foobar 

Kann Struktur und Funktionsdefinitionen hinzugefügt werden, etc. Sie müssen dann ein

\defgroup foobar Description of foobar. 

irgendwo. Dies wird dann durch

<tab type="modules" visible="yes" title="Modules" intro=""/> 

Von layout.xml verwendet werden, um eine möglicherweise intuitivere Oberfläche produzieren als „Files“ (zB struct Dokumentation von einer .h und Funktion Dokumentation von einem .c zusammen organisiert, wenn sie in der gleichen Gruppe sind), ähnlich wie "Klassen" mit C++ funktioniert.

Es gibt mehr über dieses Zeug in the doxygen site.

5

können Sie

OPTIMIZE_OUTPUT_FOR_C = YES 

in der Konfigurationsdatei, setzen Ausgabe zu erhalten, die mehr C orientiert ist.

0

Sie können die Struktur und Funktionsdeklarationen von Ihnen C-Klasse MY_C_CLASS in der i setzen

konstruieren folgenden umschließen immer die doxygen Hilfe für die Funktion in der Hilfe-Datei, so dass es mit der Klassengruppe gruppiert.

/** 
* @defgroup MY_C_CLASS 
* @brief MY_C_CLASS class 
* describe here what it is all about. 
* @{ 
*/ 

typedef struct tagMY_C_CLASS { 

} MY_C_CLASS; 

/** 
    * @brief constructor 
    * @return status; -1 on failure. 
    */ 
int MY_C_CLASS_init(MY_C_CLASS *void); 

/** 
* @} 
*/