我有一个 .cpp 文件,发现 Doxygen 无法记录包含以下格式的函数:
//!
//! \brief Test
//! and perform operations on those points.
//!
void CTest::TestTri()
EH_Start("CTest::TestTri")
{
}
EH_Stop
EH_Start
andEH_Stop
是一种异常处理机制,会导致问题。
我们如何排除这些?
我有一个 .cpp 文件,发现 Doxygen 无法记录包含以下格式的函数:
//!
//! \brief Test
//! and perform operations on those points.
//!
void CTest::TestTri()
EH_Start("CTest::TestTri")
{
}
EH_Stop
EH_Start
andEH_Stop
是一种异常处理机制,会导致问题。
我们如何排除这些?
尝试使用更明确的 doxygen 格式 - 以下内容准确地告诉 doxygen 您希望记录哪个函数,因此它不必了解您的代码即可确定将文档附加到的内容:
/// \fn void CTest::TestTri()
/// \brief Test and perform operations on those points
EH_STart("CTest::TestTri") {} EH_Stop
假设 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 构造函数。