10

#defineヘッダーには確かにDoxygenに文書化させたい値がありますが、静的定数として扱うCファイルには他の値があり、Doxygen文書化させたくありません。シンプルで愚かなもの

#define NUMBER_OF(a) (sizeof((a))/sizeof((a)[0]))
#define MSTR(e) #e

#defineDoxygenが作成するドキュメントにそれらを入れないようにするにはどうすればよいですか?でマークを付けてみました@internalが、役に立たなかったようです。

Doxygenと#define、どうすれば入手できますか?

#define SOME_CONSTANT 1234 /**< An explanation */

「SOME_CONSTANT」と「Andescription」を出力に入れますが、「1234」は入れませんか?

4

7 に答える 7

12

\condand\endcondコマンドを使用する必要はありません。\hideinitializer次のコマンドを使用するだけで、初期化子を非表示にできます。

#define SOME_CONSTANT 1234 /**< An explanation @hideinitializer */

最初の質問に関しては、設定することができHIDE_UNDOC_MEMBERS = YES、Doxygenドキュメントブロックを持つマクロのみが出力に表示されます。

于 2011-04-12T14:13:20.527 に答える
5

doxyfile で MAX_INITIALIZER_LINES = 0 を設定して、定義の値を非表示にすることができます。

于 2011-03-08T17:06:01.037 に答える
3

タグを使用したDoxygen解析からコードの任意の部分を除外でき\cond ... \endcondます。

編集:いくつかの関連する質問:

于 2009-11-04T16:46:35.913 に答える
1

それでもうるさくて不自然に見えることは間違いありませんが、他の質問に対処するには、次のことを試してください。

/** An explanation */
#define SOME_CONSTANT /** @cond */ 1234 /** @endcond */
于 2010-03-14T20:07:33.073 に答える
0

ドキュメントを .c ファイルから .h ファイルに移動することで、この問題を解決しました。次に、.h ファイルに対してのみ doxygen を実行します。

次に、文書化したい項目 (「パブリック」項目) は、本質的に doxygen が取得するものです。

以前は「パブリック」アイテムを .h ファイルに、「プライベート」アイテムを .c ファイルに入れるように注意してきたので、これは非常にうまく機能します。

この手法は、doxygen がインクルードを取り込んでいることに気付いたときに思い浮かびました。呼び出し元のモジュールが自分のモジュールを使用するために必要なインクルードのサブセットも移動すると、そのリストも文書化されることに気づきました。

この手法には、さらに利点があります。ドキュメントを更新する際に、ドキュメントをあるターミナル ウィンドウに表示し、ソースを別のターミナル ウィンドウに表示することができます。

于 2014-04-24T03:05:53.457 に答える