【问题标题】:Using lint comments with doxygen使用 doxygen 的 lint 注释
【发布时间】:2013-01-01 06:58:21
【问题描述】:
对于文档,我们通常必须创建一个附加文档来描述在代码 (e.g. /* lint --e228) 中禁用任何 lint 消息时我们所做的事情。
与doxygen 一起使用它会更容易(因为我们无论如何都会创建它)。
不过,我无法找到任何解决方案来说明如何使用这些 lint cmets 制作 doxygen。
有人试过这个吗?
有什么解决方案如何使用stric '/*lint',但无论如何将其添加到doxygen?
谢谢!
【问题讨论】:
标签:
c
documentation
doxygen
lint
comments
【解决方案1】:
这可以通过定义一个宏来扩展为 lint 表达式注释来实现,但在扩展 doxygen 时使宏扩展为不同的注释。
诀窍是使用-save 指令来 PC-lintTM 或 FlexeLintTM:
#ifndef LINT_CONTROL
#define LINT_CONTROL(X) /*lint -save X */ //lint X
#endif
int main () {
int a; LINT_CONTROL(-e530)
return a != a;
}
然后,在您的doxygen 配置文件中,您可以启用某些预处理器宏的扩展。特别是,我们可以将LINT_CONTROL 改为扩展为doxygen-ated 注释。
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = "LINT_CONTROL(X)=//! lint control: X"
或者,如果您有 FlexeLintTM,那么您可以修改遮蔽源,以便可以使用 doxygen 注释来触发 lint 控制。 Gimpel Software Discussion Forum 上描述了该技术。 (此链接似乎已失效,新的讨论论坛似乎不再包含引用的讨论。)
PC-lint 和 FlexeLint 是 Gimpel Software 的商标。