使用Doxygen在C ++中记录宏函数

时间:2010-12-27 23:33:53

标签: c++ macros doxygen

如何使用Doxygen在C ++中记录宏函数,并在我的非Evil代码文档中引用它?

更具体地说,我在Message.H中定义了一个名为“Message”的常规类,用户可以继承它来定义自己的消息。在另一个文件(“MessageHelpers.H”)中,我有一个像这样的疯狂宏:

//! 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);                       

在Message的文档中,如果短语“REGISTER_MESSAGE_TYPE”可以自动成为链接并指向我的宏文档,我会很高兴。 E.g。

//! 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();
};

这可能吗?

1 个答案:

答案 0 :(得分:14)

请参阅http://www.doxygen.nl/manual/index.html

section "Special Commands"列出了\def commandsection "Automatic link generation"描述了您想要链接到宏的内容。

使用\def记录与文档分开的宏。 使用#MACRO(params)自动链接到所述宏定义。