我有一个函数的以下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会强调命令,最好将它链接到参数定义。有没有办法做到这一点?
如果只使用默认配置(或其微小的改动),这将是特别好的。
答案 0 :(得分:62)
Doxygen提供命令\p
,用于指示下一个单词是函数的参数。你可以像这样使用它:
... the \p x and \p y coordinates are used to ...
我相信默认情况下会使用打字机字体来表示。我不认为这目前提供任何自动链接功能,但可能在未来。
有一个相关的命令\a
,用于标记成员参数。默认情况下,它会在文本(<em>arg</em>
)
您可以找到有关各种Doxygen Special Commands reference的更多信息。
答案 1 :(得分:1)
我知道您正在询问@param
位用户,但是Google搜索也在这里搜索@return
类型,因此答案如下:
#
在返回值前面的用法以创建指向其定义的超链接:使用#
符号。
完整示例(请参见下面的@return
类型,每个类型前面应有#
):
#include <stdarg.h> // for va_list, va_start, va_end
#include <stdio.h> // for vsnprintf
// Function prototype:
int debug_printf(const char *format, ...) __attribute__((format(printf, 1, 2)));
// Function definition:
/// @brief Function to print out data through serial UART for debugging
/// @param[in] format `printf`-like format string
/// @param[in] ... `printf`-like variadic list of arguments corresponding to the format string
/// @return Number of characters printed if OK, or < 0 if error:
/// - #DEBUG_ERR_ENCODING
/// - #DEBUG_ERR_OVERFLOW
/// - #DEBUG_ERR_UART
int debug_printf(const char *format, ...)
{
int num_chars_printed;
va_list args;
va_start(args, format);
// Use `vsnprintf()` now here to format everything into a single string buffer, then send
// out over the UART
// - num_chars_printed could be set to one of the error codes listed above here
va_end(args);
return num_chars_printed;
}
Doxygen输出现在将错误返回类型显示为Number of characters printed if OK, or < 0 if error:
行下的子项目列表,,并且由于{,每个错误类型都被转换为各自定义的URL。 {1}}前面的字符。
#
包装器实现:https://github.com/adafruit/ArduinoCore-samd/blob/master/cores/arduino/Print.cpp#L189 答案 2 :(得分:0)
使用&#34;#&#34;您要引用的参数前面的符号:
#pfirst must have been previously passed through BarrelFiller()