Doxygen - Problem Definitionen for Funktionen
Bei mir passiert es häufig, gerad in C, dass einige funktionen eine Makro forangestellt bekommen wie z.B. __declspec(...).
Dies und andere funktionen kann in Doxygen zu problemen führen, denn Doxygen hält diesen Ausdruck für eine neue Funktionsdefintion und schafft es nicht die nachfolgende funktion zu erkennen.
Abhilfe kann man verschaffen in dem man dem Doxygen Preprocessor diese funktionen vordefiniert mit der Config PREDEFINED:
Als beispiel für __declspec und _Requires_lockheld:
PREDEFINED = __declspec(a)= \
_Requires_lock_held_(a)=
Für die genaue Syntax sei auf die Doxygen dokumentation verwießen, diese behandelt das Theme ausführlicher.
Beispiele
Folgende predefines sind nützlich in der Windows Treiberentwicklung:
PREDEFINED = __declspec(a)= \
_Requires_lock_held_(a)= \
_Dispatch_type_(a)= \
_Function_class_(a)=
Troubleshooting
Wenn doxygen die Einstellung ignoriert, dann bitte überprüfen ob folgende Werte in der Config auf YES stehen:
- MACRO_EXPANSION
- ENABLE_PREPROCESSING