c++ 如何指定doxygen @示例的顺序

oknrviil  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(154)

Doxygen有一个@example标签,用于在生成文档末尾的补充章节中包含示例。

/**
 *  Some example
 *  @example my_example.cpp
 */

这看起来工作正常,但是示例是按文件名排序的,最好在不修改文件名的情况下控制它们的顺序。
如果你有50个例子,在中间插入一个新的将是一个悲剧,这一点尤其正确。
有什么办法可以做到这一点吗?

watbbzwu

watbbzwu1#

Doxygen扫描所有文件中的@example注解块,并将它们合并以创建“特殊”示例页面,我猜由于没有一种简单的方法来定义不同文件中@example块的相对顺序,doxygen只是按照字典顺序对它们进行排序。
一种解决方法是自己构建一个包含排序后的示例列表的专用页面。

/**
@example example1.cpp
Desc 1
*/

/**
@example example2.cpp
Desc 2
*/

在你的源代码中。然后你可以创建一个专门的页面

/**
@page SortedList Sorted list of examples

@ref example2.cpp

@ref example1.cpp
*/

按照您希望的顺序引用示例。
如果示例是在彼此之上构建的,那么使用@include命令创建一个内嵌示例代码的专用页面可能也是有意义的:

/**
@page CustomExamplePage Custom list of examples

Example 2:
@include example2.cpp
More text 2.

Example 1:
@include example1.cpp
More text 1.
*/

这将给予一个类似教程的页面,可能更容易阅读。

相关问题