2013-03-13 56 views
34

我有以下Doxygen文档的功能:在Doxygen中引用参数的正确方法是什么?

/** 
    @brief Does interesting things 

    @param[in] pfirst The first parameter: a barrel full of monkeys 

    @pre 
    "pfirst" must have been previously passed through BarrelFiller() 
*/ 

注意pfirst是一个参数,它的前提条件引用。

我在这里用引号将它包围,因为我想从文本的其余部分脱颖而出。但这样做很好,Doxygen会突出显示该命令,最好将其链接到参数定义。有没有办法做到这一点?

如果仅使用默认配置(或其次要更改),将会特别好。

回答

44

Doxygen提供命令\p用于指示下一个单词是函数的参数。你会这样使用它:

... the \p x and \p y coordinates are used to ... 

我相信默认情况下,这将使用打字机字体。我不认为它目前提供任何自动链接功能,但可能在未来。

有一个相关的命令,\a用于标记成员参数。默认情况下,它显示在文字(<em>arg</em>

您可以找到有关各种Doxygen Special Commands reference的更多信息。

+4

我想,这是不是_exactly_什么OP是询问有关(虽然不是我假设我比他更了解他自己的问题)。大多数他问的是如何标记一些文本,使得输出将被_semantically_标记为参数(例如,在HTML输出中,是paramname类的成员),而不仅仅是_rendered _作为默认样式表中的参数。如果你对Doxygen的输出进行了剥皮,这显然很重要,但是目前还没有实惠的方法来做到这一点。 – alecov 2014-12-10 16:47:07

+0

即使您希望输出使用HTML类标识参数,您仍然会在源代码注释中使用'\ p'或'\ a'标记 - 因为这些标记会告诉Doxygen您的意图。它如何在输出中呈现这些标记是一个单独的问题 - 无论是“”等还是作为一个类。如何使Doxygen做到这一点是另一回事 - 也许看看XML输出。 – 2015-07-27 13:25:06

+2

为了让人们在Doxygen文档中尚未注意到这个条款的最大限度的清晰,你可以用@代替任何命令的前导'\',并得到相同的结果。所以'@ p'也可以在这里工作。 – 2017-07-17 21:05:11

2

使用“#”符号在参数前要引用:

#pfirst must have been previously passed through BarrelFiller() 

in the Doxygen manual

+2

'#'用于引用成员变量,而不是函数参数。 – xuhdev 2017-07-10 06:11:28

+0

错误的答案。如果'pfirst'是一个参数,则会产生一个“警告:对pfirst的显式链接请求”无法解析“,并且散列字面地写在生成的文档中。如果'pfirst'是成员函数或变量,则输出是一个奇妙的链接。 – Stein 2018-03-08 14:00:26

相关问题