C++ 我如何给出一个带有Doxygen的类的示例代码?
我试图记录一个嵌入在名称空间中的类,我想给出示例用法。我已经编写并包含了示例,它们显示在示例选项卡中。但是,它们不会在类本身中引用。例如,在上的代码中,它们的Doxygen命令编写为:C++ 我如何给出一个带有Doxygen的类的示例代码?,c++,class,doxygen,C++,Class,Doxygen,我试图记录一个嵌入在名称空间中的类,我想给出示例用法。我已经编写并包含了示例,它们显示在示例选项卡中。但是,它们不会在类本身中引用。例如,在上的代码中,它们的Doxygen命令编写为: /** \example example_test.cpp * This is an example of how to use the Test class. * More details about this example. */ Doxygen似乎解析了命令和文件,并识别出引用了Test类。对我来
/** \example example_test.cpp
* This is an example of how to use the Test class.
* More details about this example.
*/
Doxygen似乎解析了命令和文件,并识别出引用了Test
类。对我来说,这似乎没有发生。这项功能没有很好的文档记录,几乎不可能在谷歌上找到
这是我的代码的总体布局:
namespace exampleSpace
{
///Doxygen documentation
class exampleClass {};
///@example example1.cpp
/// example1 description
///@example example2.cpp
/// example2 description
}
示例描述为类命名,正如官方文档中的描述一样。然而,Doxygen似乎认识他们的而不是我的
我的示例代码完整,编译/运行正确
那么,将这些命令放在哪里,以便Doxygen知道它们是这个特定类的示例呢
编辑:看起来Doxygen实际上在解析源代码,因为它成功地链接到类和代码中的任何成员函数。但是,类页面本身并没有链接到文件。这只是一个猜测,但我打赌Doxygen不会因为名称空间而匹配 实现链接的一些想法:
- 显式限定示例中所有名称的命名空间
- 将代码放入命名空间中的示例中
\snippet
来做这个。您引用了另一个文件,在该文件中可以用[mytag]
区域包围代码块。然后在使用\snippet
的位置显示这些代码
另请参见和这正是我所怀疑的,但我可以想象,如果代码编译并运行,它会起作用。有没有什么东西可以用来尝试和调试它?我几乎处于停滞状态。编辑:它看起来像是在解析,因为类和方法链接到各自的Doxygen页面。Hm,显式使用名称空间(即
exampleSpace::examplesclass
),而不是使用名称空间exampleSpace
似乎起到了作用。@Littlegator是的,如果您仔细想想,当有一个非限定名称时,除非您解析所有包含的文件,否则无法知道它来自哪个命名空间。我不知道doxygen是否支持使用exampleSpace::exampleClass
来减少键入的次数,并仍然创建链接。它可能希望您也有文件和类描述。我记不起这对我有什么帮助了。我不完全清楚你的意思。您是说@example
命令需要类描述吗?从文档来看,似乎不是这样。我甚至不知道如何指定它。您在Doxygen配置文件中正确设置了示例路径吗?是的。正在显示和分析文件。事实上,显式声明第一个类对象的名称空间似乎使它能够工作。