我有一个.cpp文件,发现Doxygen无法记录包含以下格式的函数:
//!
//! \brief Test
//! and perform operations on those points.
//!
void CTest::TestTri()
EH_Start("CTest::TestTri")
{
}
EH_Stop
EH_Start
和EH_Stop
是一种异常处理机制,会导致问题。
我们如何排除这些?
答案 0 :(得分:4)
尝试使用更明确的doxygen格式 - 下面告诉doxygen你想要记录哪个函数,所以它不需要理解你的代码来找出附加文档的内容:
/// \fn void CTest::TestTri()
/// \brief Test and perform operations on those points
EH_STart("CTest::TestTri") {} EH_Stop
答案 1 :(得分: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构造函数。