带有Doxygen的typedef的相同行文档

时间:2012-07-02 21:54:40

标签: c doxygen

我有一个带有很多typedef和#defines的C头文件。我希望能够让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,注释将应用于以下行。对于#define,评论消失在以太网中。如果//!行位于#define之前,则该评论与以下#define相关联。但我真的不想将所有评论都偏移一行!

是否有Doxygen语法来执行此操作?我在Windows上运行Doxygen 1.8.1.1。

2 个答案:

答案 0 :(得分:3)

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

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

此外,Doxygen是否在命令行上产生任何有用的输出?如果没有,请尝试在.doxyfile中设置以下内容:

  • QUIET=NO
  • WARNINGS=YES
  • WARN_IF_DOC_ERROR=YES

答案 1 :(得分: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

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