【发布时间】:2011-10-12 20:58:00
【问题描述】:
我是 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 = 是
EXPAND_ONLY_PREDEF = 是
没有预定义的宏
EXPAND_AS_DEFINED = SYMEQ
条件部分没有 doxygen 输出,由它决定
我也试过 EXPAND_AS_DEFINED SYMEQ(A, B)
也没有运气
我找到了一些名称简单的例子,然后是#ifdef NAME \code #endif,但没有一个带有宏函数的例子
【问题讨论】:
标签: doxygen conditional-compilation