1

我有一个 .cpp 文件,发现 Doxygen 无法记录包含以下格式的函数:

//!
//! \brief Test
//!        and perform operations on those points.
//!
void CTest::TestTri()
EH_Start("CTest::TestTri")
{
}
EH_Stop

EH_StartandEH_Stop是一种异常处理机制,会导致问题。

我们如何排除这些?

4

2 回答 2

4

尝试使用更明确的 doxygen 格式 - 以下内容准确地告诉 doxygen 您希望记录哪个函数,因此它不必了解您的代码即可确定将文档附加到的内容:

/// \fn void CTest::TestTri()
/// \brief Test and perform operations on those points
EH_STart("CTest::TestTri") {} EH_Stop
于 2009-06-10T20:26:01.827 回答
1

假设 EH_Start 和 EH_Stop 已定义,您可以让 doxygen 在处理代码时扩展这些宏

EXPAND_AS_DEFINED = EH_Start EH_Stop

我们有许多用于函数和类声明的宏。没有EXPAND_AS_DEFINED,doxygen 将不会生成正确的文档

例如:

/* C++ Code */
#define STANDARD_CONSTRUCTORS_HEADER(iCLASS) \
  public:  iCLASS(); \
  public:  virtual ~iCLASS(); \
  private: iCLASS(const iCLASS & iCopy); \
  private: iCLASS& operator=(const iCLASS &);

class Foo {
  STANDARD_CONSTRUCTORS_HEADER(Foo)
}

/* Doxyfile */
EXPAND_AS_DEFINED = STANDARD_CONSTRUCTORS_HEADER

没有EXPAND_AS_DEFINED,您将不会在文档中获得 Foo 构造函数。

于 2009-12-30T15:56:07.953 回答