Guter Weg, um Dokument #undef in doxygen
Frage
Im Moment habe ich ein paar #define in c-Dateien, die aus einigen Funktionen Hardware drehen den Zweck zu testen. Allerdings möchte ich sie mit doxygen dokumentieren, wenn sie auch nicht definiert sind.
Zum Beispiel:
Dies funktioniert:
/// \def SIMULATE_SOME_HW_INTERFACE
/// Define this when you want to simulate HW interface.
#define SIMULATE_SOME_HW_INTERFACE
Wenn Sie die #define zu #undef ändern, wird eine Warnung in doxygen erhalten, und es zeigt nicht in der doxygen erzeugten Ausgabe auf. Ich mag diese #define dokumentieren, ob es definiert ist oder nicht definiert.
Wie kann ich Dokument erzwingen doxygen ein #undef ???
Lösung
definieren sie in einer Header-Datei, die nur von Doxygen (put in einem separaten Verzeichnisbaum von der Hauptquelle) enthalten ist.
Schutz diese Header-Datei, indem es mit einer Umhüllung definieren, dass Sie nur in der Doxygen Setup definieren, zum Beispiel:
#ifdef ONLY_FOR_DOXYGEN
/// \def SIMULATE_SOME_HW_INTERFACE
/// Define this when you want to simulate HW interface.
#define SIMULATE_SOME_HW_INTERFACE
#endif
Ich habe dies bedingt umfassen leichte Klassendefinitionen für Dinge wie Klassen Basis MFC so erscheinen sie als Grundlagen für die Klassenhierarchie, ohne alle MFC zu analysieren.
Andere Tipps
fand ich einen kludgy Weg durch den #undef unter dem #define Zugabe. Auf diese Weise ist es definiert für Doxygen, aber sofort für den Compiler nicht definiert.
/// \def SIMULATE_SOME_HW_INTERFACE
/// Define this when you want to simulate HW interface.
/// Comment out #undef to simulate HW interface
#define SIMULATE_SOME_HW_INTERFACE
#undef SIMULATE_SOME_HW_INTERFACE
Ich habe versucht, wie man Satz SIMULATE_HW_INTERFACE, um herauszufinden, in der Doxyconfig Datei PREDEFINED Option. Könnte es nicht an der Arbeit. Also hier ist meine beste Lösung so weit.
löste ich mein Problem mit compilerflags wie dies in der Hauptheaderdatei dokumentiert:
/**
* \defgroup flags Compilerflags
*/
/**
* \def MY_FLAG
* \ingroup flags
* Dokumentation....
*/
#ifndef MY_FLAG
#define MY_FLAG
#undef MY_FLAG
#else
#define MY_FLAG
#endif
Auf diese Weise funktioniert alles einwandfrei: doxygen und Kompilieren und Sie können Ihre Fahnen in Kommandozeile ...
halten Angabe