Javadoc-подобная документация для C ++ - PullRequest
53 голосов
/ 17 июля 2009

Существуют ли подобные системы генерации документации, такие как Javadoc, для C ++? Javadoc производит хороший вывод; Было бы здорово, если бы вы могли использовать что-то подобное на других языках.

Ответы [ 5 ]

56 голосов
/ 17 июля 2009

Есть несколько инструментов, которые работают как JavaDoc для C ++. Наиболее популярным инструментом, вероятно, является doxygen . Он может обрабатывать JavaDoc-подобные комментарии, а также несколько языков (например, C ++, C, Java, Objective-C, Python, PHP, C #). Он имеет довольно хорошую поддержку для настройки стиля вывода HTML с использованием CSS (см. список пользователей , например, документацию).

Два важных вопроса при выборе системы документации - убедиться, что она позволяет вам

  • Документирование сущностей, которые вас интересуют. Хотите ли вы документировать систему, следуя структуре кода или согласно некоторому другому разделу модуля.
  • Получение выходных данных в формате, который вы хотите. Желательно, чтобы документация соответствовала вашему общему стилю проекта.

Наш опыт работы с doxygen заключается в том, что его довольно легко настроить и использовать, а полученный результат довольно легко настроить. К сожалению, doxygen не идеален, поэтому в некоторых случаях необходимо обходить причуды или ошибки, когда парсер doxygen выходит из строя. Обязательно внимательно изучите всю сгенерированную документацию.

20 голосов
/ 17 июля 2009

Вы не можете использовать Javadoc специально, но есть пара инструментов, которые делают то, что вы хотите. Большинство людей склонны использовать Doxygen. Вот несколько ссылок для Doxygen и Doc ++:

Doxygen
Doc ++

11 голосов
/ 17 июля 2009

Есть доксиген, который поддерживает много вещей (и больше) Doxygen

1 голос
/ 19 июня 2012

Существует также qdoc для проектов C ++ на основе QT. http://doc -snapshot.qt-project.org / QDOC

0 голосов
/ 08 сентября 2015

Я только начинаю использовать Sphinx для моих проектов на Python. На его домашней странице указано, что «C / C ++ уже поддерживается».

Используется облегченная разметка " reStructuredText ".

Я только начал использовать его для своих проектов на Python, и мне очень нравится внешний вид вывода.

...