Doxygenを使用してC++でマクロ関数をドキュメント化し、私の非悪用コードのドキュメントを参照してください。Doxygenを使用したC++でのマクロ関数のドキュメント化
具体的には、Message.Hで定義された「Message」という名前の定期的なクラスがあります。このクラスはユーザーが継承してメッセージを定義することができます。別のファイル(「MessageHelpers.H」)で、私は狂った。このようなマクロがあります:フレーズ「REGISTER_MESSAGE_TYPE」は自動的にリンクしてポイントになることができれば、メッセージのドキュメントで
//! Users must call this macro to register their messages...
/*!
...lest they be forced to type all sorts of boring and
error-prone boiler plate code.
blah blah blah... More specific documentation and explanation...
*/
#define REGISTER_MESSAGE_TYPE(MSGTYPE) \
do_some(MSGTYPE); \
seriously(); \
crazy_stuff(MSGTYPE);
を、私はそれを愛するだろう、私のマクロのドキュメント。例えば。
//! A cool message class
/*!
Users can inherit from this class to create their own cool messages.
Just be sure to call REGISTER_MESSAGE_TYPE after your class definition!
*/
class Message
{
virtual void doSomeStuff();
};
これは可能ですか?
これは私にとってはうまくいきません。私はここの例のhttp://www.stack.nl/~dimitri/doxygen/autolink.htmlからABSマクロをコピーしようとしましたが、ドキュメントは生成されていませんでした。私のコード "#ABS(x)"はリンクしていません。私は自分の設定ファイルで何か間違っている必要がありますか? – rcv
これが問題なのかどうかわかりませんが、マクロが定義されているどこかでファイルを文書化してください。/*を試してみてください! \ file * /または/ ** @file * /を実行して、doxygenが警告を生成したかどうかを確認してください。ソースはhttp://www.stack.nl/~dimitri/doxygen/docblocks.html "グローバルオブジェクト"を検索しています。 (編集 - スラッシュスターの文字は動作しませんでしたが、複数行のコメントマーカーでなければなりません) – Guerrero
うん、私は/ *! @file filename.h description ... * /すべてのファイルの先頭にあります。私のマクロ定義は、私のMessageHelpers.Hドキュメンテーションには表示されません。 – rcv