Documenter les Macro-Fonctions en C++ avec Doxygen
Comment puis-je document d'une macro fonction en C++ à l'aide de Doxygen, et reportez-vous à la documentation de mon non-Evil code?
Plus précisément, j'ai une certaine classe ordinaire appelée "Message", défini dans le Message.H que les utilisateurs peuvent hériter de définir leurs propres messages. Dans un autre fichier ("MessageHelpers.H") j'ai un fou macro comme ceci:
//! Users must call this macro to register their messages...
/*!
...lest they be forced to type all sorts of boring and
error-prone boiler plate code.
blah blah blah... More specific documentation and explanation...
*/
#define REGISTER_MESSAGE_TYPE(MSGTYPE) \
do_some(MSGTYPE); \
seriously(); \
crazy_stuff(MSGTYPE);
Dans la documentation pour le Message, je l'aimerais si la phrase "REGISTER_MESSAGE_TYPE" pourrait devenir automatiquement un lien et le point à ma documentation pour la macro. E. g.
//! A cool message class
/*!
Users can inherit from this class to create their own cool messages.
Just be sure to call REGISTER_MESSAGE_TYPE after your class definition!
*/
class Message
{
virtual void doSomeStuff();
};
Est-ce possible?
OriginalL'auteur rcv | 2010-12-27
Vous devez vous connecter pour publier un commentaire.
Voir http://www.doxygen.nl/manual/index.html
La la section "Commandes Spéciales" répertorie les
\def
commande, et la la section "génération Automatique de liens" décrit ce que vous souhaitez lier à la macro.Utilisation
\def
document d'une macro distincte de la documentation.Utilisation
#MACRO(params)
à l'auto-lien vers cette définition de macro.Je ne sais pas si c'est votre problème, mais assurez-vous de documenter le fichier quelque part la macro est définie. Essayez de /*! \le fichier / ou /* @fichier */, et de voir si doxygen a généré tous les avertissements. La Source est stack.nl/~dimitri/doxygen/docblocks.html a la recherche pour "des objets globaux". (edit - la barre oblique caractères étoiles n'apparaissent pas au travail, mais ils doivent être multi-ligne des marqueurs de commentaires)
Yup, j'ai un /*! @le fichier nom de fichier.h description... */ en haut de chaque fichier.. Il est intéressant de voir que ma définition de macro n'est pas dans mon MessageHelpers.H de documentation.
À l'aide de la Doxygen autre interface, si je goto "l'Expert" de l'onglet, le "Préprocesseur", et décochez la case ENABLE_PREPROCESSING, il s'arrête de documentation de l'échantillon... Mais puis-je obtenir "Avertissement: lien explicite demande d'ABS(x)' n'a pas pu être résolu" dans la sortie. Je suis désolé, je ne pouvais pas être de plus d'aide.
Ah ha! Le ENABLE_PREPROCESSING a fait le tour, merci pour l'aide.
OriginalL'auteur Guerrero