我正在尝试提出一种使用Doxygen记录纯程序集源文件的方法。一种方法是使用Doxygen的代码块创建头文件,并使Doxygen解析该文件,而不是解析程序集源。
问题是我遇到warning: documented symbol NVMLIB_Close was not declared or defined.
错误,显然文档中没有这些元素。
所以我的问题是:即使我无法在代码中找到它们,如何强制Doxygen包括所有已记录的成员?
我尝试过寻找here,但那在2006年是不可能的。
创建虚拟函数标头的简单解决方案是一个大问题,我不能做到这一点。它使汇编函数看起来像不是C函数。
我也看不到过滤器脚本在这里有什么帮助,因为问题不是ASM语法,而是至少缺少原型。创建假冒原型也是不可能的(请参阅上面的评论)。
Doxyfile:
PROJECT_NAME = "Doxygen as an assembly documentation tool"
PROJECT_BRIEF = "Will it work?"
OUTPUT_DIRECTORY = doc_out
INPUT = test.h
GENERATE_TREEVIEW = YES
GENERATE_RTF = NO
GENERATE_LATEX = NO
GENERATE_TAGFILE = tags.txt
OPTIMIZE_OUTPUT_FOR_C = YES
ALIASES += "registermods=\par Register mods^^"
ALIASES += "clockcycles=\par Clock Cycles^^"
ALIASES += "assumptions=\par Assumptions^^"
test.h
/**
* \file test.h
* \brief Simple test
*
* ------------------------------------------------------------------------- */
/**
\fn NVMLIB_Initialize
\brief Initialize the NVM library.
\param[in] b1 SPI speed; use SPI_CLK_PRESCALE_* define
\registermods b1, x1
\assumptions The sources for the SPI interface pads have been configured
\clockcycles Not applicable
*/
/**
\fn NVMLIB_Close
\brief Close the NVM library.
\registermods None
\assumptions None
\clockcycles 6
*/
在Doxygen: how to document a non-C function using only its documentation block but not the code?中也提出了要求,但是解决方案是添加伪造的原型。
这篇文章是相关的,但没有答案:Documenting a non-existing member with Doxygen
谢谢!