web-dev-qa-db-ja.com

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がコマンドを強調表示し、できればそれをパラメーター定義にリンクするような方法でこれを行うと便利です。これを行う方法はありますか?

これがデフォルト設定(またはそのわずかな変更)のみを使用して発生する場合、特に素晴らしいでしょう。

53
Richard

Doxygenはコマンド \p は、次のWordが関数のパラメーターであることを示します。次のように使用します。

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

デフォルトでは、これはタイプライターフォントを使用して表されると考えています。現在、これが自動リンク機能を提供するとは思わないが、将来的には可能性がある。

関連するコマンドがあります \a これは、メンバー引数をマークアップするために使用されます。デフォルトでは、テキスト(<em>arg</em>

さまざまなDoxygenの詳細情報を見つけることができます 特殊コマンドリファレンス

62
DRH

@parametersについて質問していることは承知していますが、Google検索では@returnタイプも検索されるため、その答えは次のとおりです。

定義へのハイパーリンクを作成するための戻り値の前のDoxygen #の使用法:

#シンボルを使用します。

完全な例(それぞれの前に@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. @ Jeremy Sarao's answer 、および私の頭の周りを走る部族の知識を参照してください。
  2. 部族の知識。この情報をどこでどのように見つけるかわからない。 Doxygenドキュメント。

その他の参考文献

  1. GCCの非常に便利なprintf形式属性のドキュメント:
    1. https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html -「フォーマット」セクションを参照
    2. ユーザー定義関数でフォーマット文字列を使用する方法?
    3. C++のクラスメソッド内で__attribute__((format(printf、x、y)))を適切に使用する方法
  2. 基本的なprintfラッパーの実装: https://github.com/adafruit/ArduinoCore-samd/blob/master/cores/arduino/Print.cpp#L189
1
Gabriel Staples

参照するパラメーターの前に「#」記号を使用します。

#pfirst must have been previously passed through BarrelFiller()

doxygenマニュアル内

1
Jeremy Sarao