Как просмотреть «встроенные документы» файла .cpp?

351
Mala

У меня есть файлы cpp, заполненные комментариями, такими как следующие перед каждой функцией:

/** * @brief Set the normal and expansion handshake timeouts. * * @param wm Array of wiimote_t structures. * @param wiimotes Number of objects in the wm array. * @param normal_timeout The timeout in milliseconds for a normal read. * @param exp_timeout The timeout in millisecondsd to wait for an expansion handshake. */ 

Исходя из формата, я предполагаю, что должен быть какой-то способ экспортировать его в «дружественный» формат, возможно, html, который затем может быть прочитан способом, подобным API Java. Как бы я это сделал?

(Я на Windows 7, работает под управлением MS Visual Studio 2010)

1

1 ответ на вопрос

3
RBerteig

Конкретный стиль комментария к документу, который вы цитируете, почти наверняка предназначен для обработки Doxygen . Он может генерировать документацию достойного качества в нескольких выходных форматах из комментариев в источниках многих C-подобных языков. Также доступны плагины для обработки комментариев на некоторых языках, отличных от C, для включения в тот же документ.

Если у вас установлены инструменты AT & T Graphviz и вы сконфигурировали Doxygen для их использования, он также может нарисовать ряд полезных диаграмм из исходного кода для включения в документацию.

Если в проекте используется Doxygen, то почти наверняка есть файл конфигурации, который указывает, какие исходные файлы следует включить, какие форматы генерировать и параметры, связанные с подробной обработкой. Скорее всего, будет назван doxyfileили что-то подобное.

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

Я настоятельно рекомендую Doxygen для проектов, написанных на C-подобных языках. Дисциплина написания «достаточно хороших» комментариев часто бывает полезна и обеспечивает четкое изложение «контракта», который каждая функция предлагает выполнить. RBerteig 13 лет назад 0