10

对于文档,我们通常必须创建一个附加文档来描述在代码中禁用任何 lint 消息时我们做了什么(e.g. /* lint --e228)。它会让它更容易使用doxygen(因为我们无论如何都会创建它)。

不过,我无法找到有关如何doxygen使用这些lint注释的任何解决方案。有人试过这个吗?是否有任何解决方案如何使用stric '/*lint'但无论如何将其添加到doxygen

谢谢!

4

1 回答 1

2

这可以通过定义一个宏来扩展为 lint 表达式注释来实现,但在扩展时使宏扩展为不同的注释doxygen

诀窍是使用-savePC-lint TM或 FlexeLint TM指令:

#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"

或者,如果您有 FlexeLint TM,那么您可以修改遮蔽源,以便可以使用 doxygen 注释来触发 lint 控制。该技术在Gimpel Software Discussion Forum上进行了描述。(这个链接似乎死了,新的讨论论坛似乎不再包含引用的讨论。)

PC-lint 和 FlexeLint 是 Gimpel Software 的商标。

于 2013-08-25T21:52:34.893 回答