Я относительный новичок с doxygen и документирую программу на C
Часть кода:
\#include "options.h"
// options.h contains
\#define VAL0 0 // Possible values for PARAM
\#define VAL1 1
\#define PARAM VAL0
// Here's the conditional compilation
\#if (PARAM == VAL0)
// code chunk, which doesn't get compiled by Doxygen
\#endif
Код компилируется с GCC, как и ожидалось, но я получаюнет документации по Doxygen
ОК, Doxygen не расширяет макросы, поэтому я попытался:
\#define SYMEQ(A, B) (A == B) ? 1 : 0
\#if SYMEQ(PARAM, VAL0)
// code chunk
\#endif
Установить Doxygen:
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
Нет предопределенных макросов
EXPAND_AS_DEFINED = SYMEQ
Нет вывода кислорода из условной части, только до нее
Я также пробовал EXPAND_AS_DEFINED SYM(A, B)
Также не повезло
Я нашел несколько примеров с простыми именами, затем #ifdef NAME \ code #endif, но ни одного с макросами