web-dev-qa-db-fra.com

Documenter les fonctions en C ++ avec Doxygen

J'ai un projet pour lequel j'utilise Doxygen pour générer de la documentation. La documentation des classes est correcte, mais j'ai aussi des fonctions non membres que j'utilise pour créer des objets, etc. J'aimerais aussi les avoir documentées, mais quoi que j'essaye, Doxygen ne générera pas de documentation à partir de les commentaires que j'ai placés au-dessus des fonctions. Pourquoi Doxygen ne génère-t-il pas de documentation pour les fonctions dans l'espace de noms global, et que dois-je faire pour que cela fonctionne?

28
Paul

Utilisation \fn où vous utilisez autrement \class dans votre \\*!*\ bloquer

http://www.doxygen.nl/manual/docblocks.html chercher "Documentation ailleurs"

http://www.doxygen.nl/manual/commands.html#cmdfn
Cela fonctionne de la même manière que la documentation des fonctions des membres

10
Pieter

Les entités qui sont membres de classes ne sont documentées que si leur classe est documentée. Les entités déclarées dans la portée de l'espace de noms ne sont documentées que si leur espace de noms est documenté. Les entités déclarées à l'étendue du fichier ne sont documentées que si leur fichier est documenté.

Donc, pour documenter une fonction libre dans l'espace de noms global, vous avez également besoin d'une ligne comme celle-ci quelque part dans le fichier d'en-tête dans lequel elle est déclarée:

/** @file */

Ou comme ça:

/*! \file */
23
Oktalist

Ce modèle a bien fonctionné pour nous.

/*! Convert counts to kg for the reservoir.  
    \param counts The A/D counts to convert.` 
    \return The calculated kg based on the parameter.  
*/  
float RES_ConvertCountsToValue(uint_16 counts);  
5
Bruce

J'aime ce modèle

   ///////////////////////////////////////////////////////////////////////
   /// \brief setX
   /// \param x offset of the image.
   /// \return a new image as an QImage.
   /////////////////////////////////////////////////////////////////////////
    QImage  setX(int x);
2
Lukasz Madon