Doxygen:将文档的重复部分(如徽章)放在一个地方

Doxygen:将文档的重复部分(如徽章)放在一个地方,doxygen,Doxygen,我使用doxygen来记录,对于每个函数,我应该至少指定以下内容: 是否可以从任务调用该函数 是否可以从ISR调用该函数 函数是否会导致上下文切换 我想将函数的这些属性实现为一种徽章:可能只是一个图像,可能是一个带有文本的图像,或者类似的东西 所以,我想把所有可能的徽章(目前只有三个)的实际doxygen标记放在一个地方,然后在每个函数的文档中“包括”它们。不幸的是,我在doxygen文档中找不到任何与此相关的内容。我看到有一些方法包括源文件作为一个例子: \包含< /代码>,或者甚至PAR

我使用doxygen来记录,对于每个函数,我应该至少指定以下内容:

  • 是否可以从任务调用该函数
  • 是否可以从ISR调用该函数
  • 函数是否会导致上下文切换
我想将函数的这些属性实现为一种徽章:可能只是一个图像,可能是一个带有文本的图像,或者类似的东西

所以,我想把所有可能的徽章(目前只有三个)的实际doxygen标记放在一个地方,然后在每个函数的文档中“包括”它们。不幸的是,我在doxygen文档中找不到任何与此相关的内容。我看到有一些方法包括源文件作为一个例子:<代码> \包含< /代码>,或者甚至PAR或IT:<代码> \SabPET,但是如何包含文档片段?


我不敢相信这是不可能的。

我没有找到一些简单的方法,所以我最终采用了骇人的makefile环境变量方法:

生成文件:

define \n


endef

TN_CALL_FROM_TASK     = \image html attr_call_task.png ${\n}\
                        \latexonly \
                        \includegraphics{../../images/attr_call_task.png} \
                        \endlatexonly \

TN_CALL_FROM_ISR      = \image html attr_call_int.png ${\n} \
                        \latexonly \
                        \includegraphics{../../images/attr_call_int.png} \
                        \endlatexonly \

export TN_CALL_FROM_TASK
export TN_CALL_FROM_ISR

all: 
    doxygen tn_doxyfile
然后,在代码中:

/**
 * Some docs for my function
 * 
 * $(TN_CALL_FROM_TASK)
 */
void my_func(void) { ... }
它不是特别优雅,但很管用

注意这种方法的一个缺点:在doxygen 1.8.8(目前最新版本)中,当从环境变量展开时,标记语法不起作用