Исходные файлы Doxygen и ассемблера с отдельными заголовками документации - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь найти способ использовать Doxygen для документирования чистых исходных файлов сборки.Один из способов сделать это - создать заголовочные файлы с кодовыми блоками Doxygen и заставить Doxygen анализировать его вместо анализа источника сборки.

Проблема в том, что я получаю warning: documented symbol NVMLIB_Close was not declared or defined. ошибки, и, очевидно, эти элементы неВ документации нет.

Итак, мой вопрос: как заставить Doxygen включить ВСЕ документированные члены, даже если я не могу найти их в коде?

Я пыталсяглядя здесь , но это говорит о том, что это было невозможно в 2006 году.

Тривиальное решение создания фиктивных заголовков функций - дело, которое я не могу иметь.Это делает функцию ассемблера похожей на функции Си, а это не так.

Я также не могу понять, как здесь может помочь сценарий фильтра, поскольку проблема не в синтаксисе ASM, а в отсутствии atхотя бы прототип.Создание фальшивого прототипа также невозможно (см. Комментарий выше).

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: как документировать не-C-функцию, используя только ее блок документации, но не код? , но решение состоит в том, чтобы добавить фальшивые прототипы.

Этот пост связан, но ответа нет: Документирование несуществующего члена с помощью Doxygen

Спасибо !!

...