对于文档,我们通常必须创建一个附加文档来描述在代码中禁用任何 lint 消息时我们做了什么(e.g. /* lint --e228)
。它会让它更容易使用doxygen
(因为我们无论如何都会创建它)。
不过,我无法找到有关如何doxygen
使用这些lint注释的任何解决方案。有人试过这个吗?是否有任何解决方案如何使用stric '/*lint'
但无论如何将其添加到doxygen
?
谢谢!
对于文档,我们通常必须创建一个附加文档来描述在代码中禁用任何 lint 消息时我们做了什么(e.g. /* lint --e228)
。它会让它更容易使用doxygen
(因为我们无论如何都会创建它)。
不过,我无法找到有关如何doxygen
使用这些lint注释的任何解决方案。有人试过这个吗?是否有任何解决方案如何使用stric '/*lint'
但无论如何将其添加到doxygen
?
谢谢!
这可以通过定义一个宏来扩展为 lint 表达式注释来实现,但在扩展时使宏扩展为不同的注释doxygen
。
诀窍是使用-save
PC-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 的商标。