Doxygen – мощная GNU утилита для автоматического создания документации к исходным текстам программ. Работает на основе анализа самих исходных текстов. Может отображать взаимосвязи между файлами исходного текста, функциями программы в графическом виде. Удобен в том числе и для изучения “чужих” проектов. Поддерживает несколько выходных форматов, в том числе и HTML.
Для создания графики Doxygen использует GNU пакет GraphViz. Он должен быть установлен отдельно.
Doxygen можно использовать как на исходных тестах с обычными комментариями (в таком случае они будут отображаться только при просмоте исходных тестов), так и писать комментарии специально для Doxygen.
ОСОБЕННОСТИ Doxygen:
- Составляет документацию (извлекает переменные, функции, строит графы вызовов и т.п.) по любым синтактически правильным исходным тестам. Проект (набор файлов c исходными текстами) может быть бессвязным (файлы не ссылаются друг на друга), без точки входа (функции main), неполным (вызываются неописанные и незадекларированные функции, используются неопределенные переменные) и т.п. Это не является ограничением для Doxygen.
- Но в тоже время есть простые вещи, которые надо учитывать. Возможно описано в документации, но выглядело загадочно – если стоит двойной комментарий /*/*, то Doxygen вообще не обрабатывает такой тест. Только включает для просмотра. Также и вполне понятно, Doxygen бесполезен для ассемблерных проектов.
В любом случае для использования Doxygen необходимо создать файл конфигурации Doxyfile. Его можно создать как вручную, так и с помощью входящего в состав пакета помощника – Doxygen GIU frontend. В помощнике нужно указать следующие данные:
- Wizard->Project->Project name.
- Имя проекта.
- Wizard->Project->Sourse code directory.
- Папка с исходными текстами.
- Wizard->Project->Scan recursively.
- Поставить галочку, если нужно просмотреть и подпапки.
- Wizard->Project->Destination directory.
- Указать папку, в которой следует создать документацию. Папку создать самостоятельно заранее.
- Wizard->Mode->Select the desired extraction mode.
- Для более полного анализа указать All entities и Include cross-referenced sourse code in the output.
- Wizard->Mode->Select programming language to optimize the result for.
- Указать язык програмирования, на котором написан проект.
- Wizard->Output.
- Оставить только HTML->plain HTML.
- Wizard->Diagrams->Diagrams to generate.
- Какие связи указать в графическом виде. Можно выбрать все.
- Use dot tool from GraphViz package to generate.
- Поставить все галочки.
- Expert->Project->OUTPUT_LANGUAGE->Russian.
- Сделать документацию на русском языке.
- Expert->Input->INPUT_ENCODING->WINDOWS-1251.
- Указать, если проект пишется в Windows. Если не указать, то русские комментарии в исходных тестах будут отображаться крокозябрами.
- Expert->Sourse Browser.
- Нужна ли возможность просмотра исходных тестов в созданной документации. Можно поставить все галочки.
- Expert->Dot->DOT_PATCH.
- Указать путь к файлу “dot.exe” из пакета GraphViz.
- Working directory.
- Можно указать ту же папку что и Wizard->Project->Sourse code directory.