Doxygen

редактировать
Бесплатное программное обеспечение для создания документации по программному обеспечению из исходного кода
Doxygen
Doxygen. png
Разработчик (и) Дмитрий van Heesch
Первый выпуск26 октября 1997 г.; 22 года назад (1997-10-26)
Стабильный выпуск 1.8.20 / 24 августа 2020 г.; 50 дней назад (2020-08-24)
Репозиторий Измените это в Викиданных
Написано наC ++
Операционная система Кросс-платформенный
Тип Генератор документации
Лицензия GNU GPLv2
Веб-сайтwww.doxygen.nl

Doxygen () - это генератор документации, инструмент для написания справочной документации по программному обеспечению. Документация написана внутри кода, поэтому ее относительно легко поддерживать в актуальном состоянии. Doxygen может перекрестно ссылаться на документацию и код, так что читатель документа может легко ссылаться на реальный код.

Doxygen - это бесплатное программное обеспечение, выпущенное в соответствии с условиями Стандартной общественной лицензии GNU версии 2 (GPLv2).

Содержание

  • 1 Дизайн
  • 2 Использует
  • 3 Пример кода
  • 4 Источник и разработка Doxygen
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

Дизайн

Как и Javadoc, Doxygen извлекает документацию из комментариев исходного файла. В дополнение к синтаксису Javadoc, Doxygen поддерживает теги документации, используемые в Qt toolkit, и может генерировать вывод на языке гипертекстовой разметки (HTML ), а также в Microsoft Compiled HTML. Справка (CHM), Rich Text Format (RTF), Portable Document Format (PDF), LaTeX, PostScript или справочные страницы.

Использует

языки программирования, поддерживаемые Doxygen, включая C,C ++, C#, D, Fortran, IDL, Java, Objective-C, Perl, PHP, Python и VHDL. Другие языки могут поддерживаться дополнительным кодом.

Doxygen работает на большинстве Unix-подобных систем, macOS и Windows.

Первая версия Doxygen заимствовала код из ранней версии DOC ++, разработанный Роландом Вундерлингом и Мальте Цёклер в Институте Цузе в Берлине. Позже код Doxygen был переписан Дмитрием ван Хишем.

Doxygen имеет встроенную поддержку для создания диаграмм наследования для классов C ++. Для более сложных диаграмм и графиков Doxygen может использовать инструмент «точка» из Graphviz.

Пример кода

Общий синтаксис комментариев документации - начать комментарий с дополнительной звездочки после ведущего комментария. разделитель '/ *':

/ ** @param Описание входного параметра метода или функции @param... @return Описание возвращаемого значения * /

Многие программисты любят отмечать начало каждого строка с пробелом-звездочкой-пробелом, как показано ниже, но это не обязательно.

/ ** * * * * * * @param Описание входного параметра метода или функции * @param... * @return Описание возвращаемого значения * /

Многие программисты избегают использования комментариев в стиле C и вместо этого используют однострочные комментарии в стиле C ++. Doxygen принимает комментарии с дополнительной косой чертой как комментарии Doxygen.

/// /// /// /// /// /// @param Описание входного параметра метода или функции /// @param... /// @return Описание возвращаемого значения

Ниже показано, как можно документировать исходный файл C ++.

Снимок экрана, на котором будет выглядеть результат в HTML
/ ** * @file * @author John Doe * ​​@version 1.0 * * @section ЛИЦЕНЗИЯ * * Эта программа является бесплатной; вы можете распространять и / или * изменять его в соответствии с условиями Стандартной общественной лицензии GNU, * опубликованной Free Software Foundation; либо версия 2 * Лицензии, либо (по вашему выбору) любая более поздняя версия. * * Эта программа распространяется в надежде, что она будет полезна, но * БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU * по адресу * https://www.gnu.org/copyleft/gpl.html * * @section ОПИСАНИЕ * * Класс времени представляет момент времени. * / class Time {public: / ** * Конструктор, который устанавливает время на заданное значение. * * @param timemillis - количество миллисекунд *, прошедшее с 1 января 1970 года. * / Time (int timemillis) {// код} / ** * Получить текущее время. * * @return Объект времени, установленный на текущее время. * / static Time now () {// код}};

Альтернативный подход к документированию параметров показан ниже. Будет создана такая же документация.

/ ** * Конструктор, который устанавливает время на заданное значение. * / Time (int timemillis /// < Number of milliseconds passed since Jan 1, 1970.>) {// код}

Возможна также более обширная разметка. Например, добавьте уравнения с помощью команд LaTeX :

/ ** * * Встроенное уравнение @ f $ e ^ {\ pi i} +1 = 0 @ f $ * * Отображаемое уравнение: @ f [e ^ {\ pi i} +1 = 0 @f] * * /

Исходники и разработка Doxygen

Исходники Doxygen в настоящее время размещены на GitHub, где разработчик, Димитри ван Хиш, вносит свой вклад под именем пользователя doxygen. Doxygen написан на C ++ и включает более 300 000 строк исходного кода. Для лексического анализа стандартный инструмент Lex (или его замена Flex) запускается на более чем 35 000 строк сценария lex. Инструмент синтаксического анализа Yacc (или его замена Bison) также используется, но только для второстепенных задач; основная часть синтаксического анализа языка выполняется собственным кодом C ++. процесс сборки основан на CMake и также включает некоторые сценарии Python.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-18 14:52:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте