配置doxygen以忽略源代码注释

时间:2018-08-08 08:08:14

标签: doxygen

我有一些用doxygen记录的类。此外,它们还使用源注释语言进行注释,以支持静态代码分析。

//! The majestic class.
class Foo {
    //! \brief do something
    //! \param [out] pResult The result value is stored here.
    //! \returns The return value Succcess indicates success.
    _Success_(return == Success)
    virtual Result_t DoSomething(_Out_ uint32_t *pResult) = 0;
};

在这种情况下,doxygen报告了警告:

  

命令@param的参数'pResult'在Foo :: _ Success_(return == Success)= 0的参数列表中找不到

因此,doxygen被注释语句_Success_()弄糊涂了。 如何隐藏返回值注释 _Success_(return == Success) 去氧 而不会使源文件混乱。这样就可以了,但是看起来太冗长了:

//! The majestic class.
class Foo {
    //! \brief do something
    //! \param [out] pResult The result value is stored here.
    //! \returns The return value Succcess indicates success.
    //! \cond INTERNAL
    _Success_(return == Success)
    //! \endcond
    virtual Result_t DoSomething(_Out_ uint32_t *pResult) = 0;
};

可以通过配置doxygen并保持源代码不变来实现吗?

1 个答案:

答案 0 :(得分:1)

Preprocessing一章的doxygen手册中有一部分:

  

一个典型的需要预处理器帮助的例子是   在处理来自Microsoft的语言扩展时: declspec。   GNU的__attribute 扩展也是如此。这是一个例子   功能。

在您的情况下,以下操作可能会起作用:

ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = _Success_(x)=