我有一个带有很多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。
答案 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
在作为逻辑组的行之前。这种格式不正确 - 它将描述与下一行联系起来,也许其中太多最终导致了转移问题。