#c #doxygen
#c #doxygen
Вопрос:
В следующем примере сгенерированный файл doxygen превратит только #mystruct и mystruct в ссылки на определение mystruct . Есть ли в любом случае одинаковое поведение для mytype, myenum и FIRST_ELEMENT или это неотъемлемое ограничение doxygen?
typedef enum myenum {
FIRST_ELEMENT, /**< Some example. */
SECOND_ELEMENT, /**< Some other example. */
} myenum;
typedef int16_t mytype; /**< some example */
typedef struct mystruct {
mytype x; /**< my member */
} mystruct;
/**
* @brief My test function.
*
* This function uses #mytype, #mystruct and #myenum.
*
* @param[in] x input 1.
* @param[in] y input 2.
* @param[in] z input 3 expected to be #FIRST_ELEMENT.
*/
void foo(mytype x, mystruct y, myenum z);
Комментарии:
1. Я попробовал это (добавив только
/** file */
начало файла), и появились все ссылки на mytype, myenum и FIRST_ELEMENT. Это было с doxygen 1.8.17.2. Да, это была моя ошибка: случилось то, что мои функции были сгруппированы вместе с defgroup, а не с объявлениями типов. По-видимому, отсутствие defgroup вокруг типов позволило определению struct оставаться видимым и связанным с ним в html, но не с другими типами.
Ответ №1:
Все, что я описал, на самом деле работает так, как ожидалось.
Документирование ошибки, которую я допустил здесь, на случай, если другие сделают то же самое.
Моя ошибка заключалась в том, что в базе кода, которую я имел (а не в примере, который я показал здесь) Мои функции были сгруппированы вместе с defgroup, а не с объявлениями типов. По-видимому, отсутствие defgroup вокруг типов позволило определению struct оставаться видимым и связанным с ним в html, но не с другими типами.