1

我有一个 C 头文件,其中包含很多 typedef 和#defines. 我希望能够让 Doxygen 接受同一行的评论,如下所示:

typedef uint32_t   U_NUM_LOGPLTNTRY;        //!< Number of U_LOGPLTENTRY
typedef uint32_t   U_NUM_RECTL;             //!< Number of U_RECTL

和这个:

#define U_SRCCOPY     0xcc0020  //!< info for srccopy
#define U_SRCPAINT    0xee0086  //!< info for srcpaint

但是,这两种形式都不起作用。对于 typedef,注释应用于以下行。对于#defines,评论消失在以太中。如果在 a//!之前有一行,#define则该注释与以下 相关联#define。但是我真的不想把所有的评论都抵消一行!

是否有 Doxygen 语法可以做到这一点?我正在使用在 Windows 上运行的 Doxygen 1.8.1.1。

4

2 回答 2

3

这对我有用。我的猜测是,问题是由您向我们展示的片段上方的某些东西引起的。如果 . 的正上方有一个 Doxygen 注释块typedef,Doxygen 可能会将其与内联注释相关联,typdef而不是内联注释。看看周围的 Doxygen 评论,确保没有发生这样的事情。

您也可以尝试将 typedef 自己放在标头中,看看 Doxygen 是否正确处理它们。如果是这样,那么问题很可能出在受影响的 typedef 上方的文件中。

此外,Doxygen 是否在命令行上产生任何有用的输出?如果没有,请尝试在您的.doxyfile:

  • QUIET=NO
  • WARNINGS=YES
  • WARN_IF_DOC_ERROR=YES
于 2012-07-02T23:16:29.893 回答
0

我还没有仔细研究真正的包含文件,这个文件很大,但是在一个小的测试文件中,这种格式正确地关联了组描述和每行描述:

/** \defgroup ABC Description of ABC group
  More information on the ABC group.
  And yet more.
  @{
*/
typedef uint32_t   U_ONE_NAME;        //!< One name
typedef uint32_t   U_TWO_NAME;        //!< Two name
/** @} */

原始文件有一个“组描述”行,如:

//! Describe the next few lines

在作为逻辑组的行之前。这种格式不正确——它只将描述与下一行相关联,也许其中太多最终导致了移位问题。

于 2012-07-03T15:45:38.783 回答