#c #c 14 #doxygen #gnu
#c #c 14 #doxygen #gnu
Вопрос:
Пытаюсь сгенерировать выходные данные Doxygen для заголовков GNU C STL (расположены в /usr/include/c /6/
каталоге). Это вроде как работает, оно генерирует выходные данные, но результат довольно скудный — документация не генерируется, например, для общедоступных функций std :: vector и т.д. Функции файла заголовка выглядят должным образом аннотированными, но по-прежнему не могут получить желаемый результат.
Пытался настроить многочисленные записи в Doxyfile (РЕКУРСИВНЫЙ, EXTRACT_ALL и т.д.), Но безрезультатно. Любые указания были бы оценены.
$ doxygen --version
1.8.13
В качестве примера, аннотация для функции std::vector::swap() выглядит следующим образом:
/**
* @brief Swaps data with another %vector.
* @param __x A %vector of the same element and allocator types.
*
* This exchanges the elements between two vectors in constant time.
* (Three pointers, so it should be quite fast.)
* Note that the global std::swap() function is specialized such that
* std::swap(v1,v2) will feed to this function.
*/
void
swap(vectoramp; __x) _GLIBCXX_NOEXCEPT
{
//....
}
Комментарии:
1. Было бы неплохо узнать, какую версию doxygen вы используете, а также пример, часть, упомянутой проблемы / файла для тех, у кого нет этого файла.
Ответ №1:
Не ответ, но я хотел включить изображение.
Я взял код, как указано, простой Doxyfile, для которого только EXTRACT_ALL
установлено значение YES
, и я получаю:
Возможно, я что-то упускаю из виду, но для меня это выглядит нормально. Если я что-то пропустил, пожалуйста, укажите это в исходном вопросе в качестве редактирования.
- какое имя файла вы использовали?
Некоторые побочные замечания:
- текущая версия doxygen 1.8.15
- также взгляните на главу «Предварительная обработка» для
_GLIBCXX_NOEXCEPT
Ответ №2:
На самом деле существует «официальный» способ генерации этой документации: https://gcc.gnu.org/onlinedocs/libstdc /manual/documentation_hacking.html
Если ничего другого, вы могли бы взять пакет GCC и посмотреть, какой файл Doxygen в нем есть, а затем перенастроить его, чтобы он выглядел в вашем системном каталоге заголовков. В заголовках много макросов препроцессора, поэтому, вероятно, Doxygen на них спотыкается.