Doxygen: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Migliorata la suddivisione in paragrafi |
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(64 versioni intermedie di 50 utenti non mostrate) | |||
Riga 1:
{{
|
|Logo =
|Sviluppatore = Dimitri van Heesch
|
|DataUltimaVersione =
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio =
|Genere = Sistema di documentazione
|SoftwareLibero = sì
|Lingua =
}}
'''Doxygen''' è una [[applicazione (informatica)|applicazione]] per la generazione automatica della [[documentazione (ambito tecnico)
Doxygen è un sistema [[multipiattaforma]] ([[Windows]], [[Mac OS]], [[Linux]], ecc.) ed opera con i [[linguaggio di programmazione|linguaggi]] [[C++]], [[C (linguaggio)|C]], [[Java (linguaggio di programmazione)|Java]], [[Objective C]], [[Python]], [[Interface Description Language|IDL]] (versioni [[CORBA]] e [[Microsoft]]), [[Fortran]], [[PHP]], [[C sharp|C#]], e [[D (linguaggio di programmazione)|D]]. Nell'ambito del C++, è compatibile con le estensioni [[Qt (toolkit)|Qt]].
In Java invece, la posizione leader viene meno, in virtù della presenza del concorrente [[Javadoc]].
Il sistema estrae la documentazione dai [[commento (informatica)|commenti]] inseriti nel codice sorgente e dalla dichiarazione delle [[struttura dati|strutture dati]].
__TOC__
Line 25 ⟶ 26:
==La documentazione prodotta==
Il risultato finale è disponibile sotto forma di pagine [[
Il formato
La documentazione prodotta riporta anche il [[diagramma delle classi]], nei casi in cui sono presenti relazioni di [[ereditarietà (informatica)|ereditarietà]] tra strutture dati. Grazie all'impiego sinergico di Doxygen con [[
I documenti possono essere generati in diverse lingue, tra cui è compreso l'italiano.
Line 37 ⟶ 38:
Riportiamo di seguito un esempio.
<
/**
* The time class represents a moment of time.
Line 47 ⟶ 48:
/**
* Constructor that sets the time to a given value.
* \param timemillis
*/
Time(int timemillis) {
Line 61 ⟶ 62:
}
};
</syntaxhighlight>
==Il file di configurazione==
Doxygen associa ad ogni progetto da documentare un [[file di configurazione]] che contiene le impostazioni da utilizzare per la generazione.
Questo file è un elenco di assegnazioni di opportuni valori a determinati parametri ('''TAG'''). Ogni tag è formato dalla coppia di informazioni
<code>NOME_PARAMETRO = VALORE_PARAMETRO</code>
analogamente a quanto avviene nei file di configurazione di numerosi altri prodotti open source.
Un frammento di un esempio del file di configurazione è il seguente:
<syntaxhighlight lang="bash">
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = MyProject
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the ___location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY =
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written.
OUTPUT_LANGUAGE = English
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp"
# or directories like "/usr/src/myproject".
# Separate the files or directories with spaces.
INPUT =
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank the following patterns are tested:
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
FILE_PATTERNS = *.h *.hh *.idl
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = YES
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank -html- will be used as the default path.
HTML_OUTPUT = html
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank -latex- will be used as the default path.
LATEX_OUTPUT = latex
</syntaxhighlight>
Come si vede, attraverso il file di configurazione, l'utente stabilisce:
* Il nome del progetto
* la [[directory]] dove verrà generato il materiale (''directory di destinazione'')
* la lingua della documentazione prodotta
* la directory dove si trovano i file sorgente da documentare (''directory di origine'')
* l'estensione dei file di input da considerare come origine
* l'indicazione di ricorsività nella directory di origine
* l'indicazione di generazione del formato HTML
* nome della directory di destinazione per il formato HTML
* l'indicazione di generazione del formato LaTeX
* nome della directory di destinazione per il formato LaTeX
Doxygen è in grado di generare un file di configurazione generico con il comando
<code>
doxygen -g <config-file>
</code>
il file generato automaticamente da doxygen contiene dei parametri generici che l'utente può personalizzare o lasciare invariati.
==Utilizzo==
Dopo aver installato Doxygen ed aver generato ed eventualmente modificato il file di configurazione,
si può invocare l'esecuzione di Doxygen con il comando
<code>doxygen <config-file></code>
al termine della elaborazione, il materiale prodotto sarà disponibile nella directory di destinazione indicata nel file di configurazione.
== Altri progetti ==
{{Interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|http://www.codeproject.com/Articles/3528/10-Minutes-to-document-your-code|10 Minuti per documentare il codice|lingua=en}}
{{Portale|software libero}}
[[Categoria:Software applicativo individuale - libero]]
|