PDA

View Full Version : [Tutorial] Doxygen


Luc@s
24-12-2003, 11:10
Doxygen Tutorial
Doxygen è un software open source utilissimo(1) che permette di documentare un software scritto in Java/C/C++.
Si compone di 2 files doxygen.exe e doxytag.exe che possono essere messi ove si vuole ma per chiamarli
senza dover inserire sempre il percorso bisogna inserirli nel PATH.
Per spiegare il funzionamento di questo tool prendiamo un codice di esempio:


#include <iostream>

/// il namespace std
using namespace std;

/// Classe Generica
class Prova
{
public:
///Costruttore
Prova(){ };
///Distruttore
~Prova(){ };
/// Funz che saluta
inline char * saluta(char * nm){ return nm; };
private:
};

int main()
{
return 0;
}


Doxygen accetta come parametro(obligatorio) il file di configurazione, che può essere chiamato a proprio
piacimento.

doxygen <config-file>

Noi per comodità lo chiameremo doxy.conf.
Il files sarà cosi composto:


; Il nome del progetto
PROJECT_NAME = "Prova"
;La lingua
OUTPUT_LANGUAGE = "Italian"
; La directory ove porre la documentazione
OUTPUT_DIRECTORY = "doc"
; # I Seguenti valori accettano YES o NO #
; Genera la documentazione HTML
GENERATE_HTML = YES
; Permette la navigazione tra i files
SOURCE_BROWSER = YES
; Disabilità la creazione della documentazione in formato LATEX
GENERATE_LATEX = NO
; Legge le sotto-directory ricorsivamente
RECURSIVE = YES
; Permette l' espansione delle macro
MACRO_EXPANSION = YES


Salviamo il files di configurazione nella directory principale del programma
Il risultato dell' operazione e visibile nel mio sito(2).
Dopo questa introduzione possiamo passare ad opzioni più avanzate.
Aggiungeremo ora al nostro doxy.conf le seguenti opzioni e proveremo a vedere il risultato:


; # I Seguenti valori accettano YES o NO #
; Opzione disponibile per soli programmi in C
OPTIMIZE_OUTPUT_FOR_C = NO
; Opzione disponibile per soli programmi in Java
OPTIMIZE_OUTPUT_JAVA = NO
; Mostra il tag [inline] difianco ai membri di classe che lo sono
INLINE_INFO = YES
; Valuta le espressioni macro presenti nel progetto
ENABLE_PREPROCESSING = YES
; Se attivo Doxygen mostra le relazioni tra i template e le sue istanze
TEMPLATE_RELATIONS = YES
; Permette la ricerca ma sul server deve essere presente PHP versione 4.1.0 o successive
SEARCHENGINE = NO


Detto questo ora possiamo dire che d'ora in poi i nostri programmi e librerie potranno essere
documentati senza problemi



Luc@s

(1) http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
(2) allegato

Luc@s
27-12-2003, 10:08
Piccolo consiglio, lasciate la lingua di default perche la traduzione di ora nn mi sembra il maximo.


Ciao e aspetto feedback :)

VICIUS
27-12-2003, 11:29
Non ho esperienza con doxy ma con javadoc ogni tanto ci lavoravo. Mi chiedevo se anche in doxy fosse possibile usare qui tag come @autor, @version, @param, @return...

tutti i commenti /// vengono messi nel file HTML vero ? perchè nel tutorial non se ne parla.

ciao ;)

Luc@s
27-12-2003, 11:32
Originariamente inviato da VICIUS
Non ho esperienza con doxy ma con javadoc ogni tanto ci lavoravo. Mi chiedevo se anche in doxy fosse possibile usare qui tag come @autor, @version, @param, @return...

tutti i commenti /// vengono messi nel file HTML vero ? perchè nel tutorial non se ne parla.

ciao ;)

Con l' opt OPTIMIZE_OUTPUT_JAVA = YES si puo
Cmq per l' html si puo usare /// per il C++/Java
/** */ x il C.

Ti è sembrato completo com tutorial?

VICIUS
27-12-2003, 11:36
A parte i dubbi che che mi erano venuti prima . si l'ho trovato un buon tutorial per un niubbo visto che sono riuscito a fare qualcosa pure io :D

ciao ;)

Luc@s
27-12-2003, 11:45
Originariamente inviato da VICIUS
A parte i dubbi che che mi erano venuti prima . si l'ho trovato un buon tutorial per un niubbo visto che sono riuscito a fare qualcosa pure io :D

ciao ;)

Cosa è uscito???
Posso vedere?

VICIUS
27-12-2003, 12:23
una classe appena accennata. http://pigaz.altervista.org/doxy-test.tar.bz2

ciao ;)

Luc@s
27-12-2003, 12:27
cmq la trad italiana nn è il massimo, vero?

VICIUS
27-12-2003, 12:43
Originariamente inviato da Luc@s
cmq la trad italiana nn è il massimo, vero?

a parte le ripetizioni, e alcuni doppi sensi sui membri... :eek:

ciao ;)

Luc@s
28-12-2003, 18:53
me lo puoi testare per il java????


Tnk

VICIUS
28-12-2003, 19:20
certo qui c'è l'output di un piccolo esercizio fatto in java che feci qualche tempo fa. http://pigaz.altervista.org/doxy-java.tar.bz2. è piuveloce di javadoc e la documentazione tiene di meno pero il riusultato è un po "incasinato" e non è completo. secondo me si puo ancora migliorare.

ciao ;)

Luc@s
28-12-2003, 19:40
meglio di fare tutto a mano.
Cmq e opensource quindi sempre aggiornato :)

gotam
20-07-2005, 12:21
Azzzz ottimo doxygen :)

Sirbako
19-05-2006, 09:42
un conisglio per il tutorial:
dovresti aggiungere una breve spiegazione su come inserirei i commenti, se c sono caratteri speciali per avere autore ecc..
ciao

cgiocoli
15-06-2009, 13:53
Ciao ragazzi,
è un po' che sto bazzicando con il C++ e la creazione della documentazione
con doxygen. Sapete come si possono implementare i caratteri e i colori, per sembio bold e rosso?

grazie mille

Old Siam Sir
16-12-2011, 15:54
Ciao a tutti, sto provando a usare doxygen, ho scaricato l'ultima versione, con Doxywizard che funge da interfaccia grafica e vorrei usarlo per creare della documentazione dai commenti che ho inserito nel codice... solo che non riesco a capire come devono essrere formattati i commenti visto che il VHDL non usa "/*", "//*" o "///" ma definisce i commenti come frasi precedute da "--".
Qualcuno è in grado di aiutarmi?
Grazie mille anticipatamente a tutti!

Blackskull182
03-04-2012, 12:36
Grazie!