Генератор документации Doxygen - быстрый старт |
![]() |
Добавил(а) microsin |
Doxygen - популярный генератор документации на основе исходных текстов. Что такое Doxygen, очень хорошо написано в Википедии, поэтому в статье я расскажу только о том, как быстро установить и начать использовать Doxygen. Итак, процесс по шагам: 1. Качаем по ссылке [1], доступны версии для Linux i386, Mac OS X 10.6 (Snow Leopard), Mac OS X 10.4 (Tiger), Windows XP/Vista/7, а также исходники (Doxygen распространяется под лицензией GPL). 2. Запускаем doxygen-1.7.2-setup.exe. Отвечаем на несложные традиционные вопросы инсталлятора (можно тупо жать Next). После инсталляции появится папка c:\Program Files\doxygen\, где и находится вся система Doxygen, документация по ней, и утилиты. 3. Запускаем c:\Program Files\doxygen\bin\doxywizard.exe. Это программа, которая позволяет упростить создание и использование конфигурационного файла для создания документации (Doxygen GUI frontend). 4. Предположим, что нам нужно создать документацию к каким-то исходникам. В этом примере я буду делать документацию к проекту LUFA 100807\Demos\Device\ClassDriver\VirtualSerial\. Теперь нужно посмотреть, есть ли в каталоге с исходниками готовая конфигурация Doxygen. Обычно такой файл называется Doxygen.conf или Doxyfile, и имеет примерно такое содержание: "# Doxyfile 1.6.2 # This file describes the settings ...". В моем случае папка с исходниками VirtualSerial уже содержала готовый конфигурационный файл Doxygen.conf. Теперь в программе меню doxywizard.exe выбрать File -> Open... -> файл Doxygen.conf. 5. Теперь осталось перейти на закладку Run и нажать на кнопку Run doxygen: Если во время компиляции документации в текстах исходников встретятся ошибки, то они будут выведены в поле вывода "Output produced by doxygen". В сообщениях указаны номера строк, где найдены ошибки. Нумерация строк в сообщениях "tag without matching" может не совпадать со строками, где эти ошибки имеются на самом деле. Запуск генерации документации можно также провести из командной строки вводом команды (config-file имя файла конфигурации doxygen): doxygen В моем примере в папке VirtualSerial\Documentation\html\ появятся файлы в формате html. Начинать просмотр документации нужно с файла VirtualSerial\Documentation\html\index.html. Если конфигурационного файла нет, то можно вручную сгенерить конфигурацию. Нужно выполнить, как минимум, следующие шаги (для примера VirtualSerial): Закладка Wizard -> Project: Закладка Wizard -> Mode: Закладка Wizard -> Output (выберем на этот раз формат RTF): Закладка Wizard -> Diagrams: Закладка Run: Полученный файл конфигурации можно сохранить для дальнейшего использования (File -> Save as... -> Doxyfile). [Проблема правильной обработки кодировки русского языка] По умолчанию Doxygen генерирует html-текст в кодировке UTF-8 (используется мета-тег), и предполагает, что входной формат текста тоже UTF-8. С такими настройками поставляются большинство конфигов Doxygen. При попытке сгенерировать с таким конфигом html-документацию из текстового формата windows-1251 (с таком формате имеется большинство файлов исходников, содержащих русскоязычные комментарии), на выходе получается html-файл, который отображается всеми браузерами с кракозябрами. Эти кракозябры исчезнут, если вручную переключить браузер из кодировки UTF-8 в кодировку windows-1251. Это, конечно, не решение проблемы - возникает неудобство, так как необходимо постоянно переключаться в кодировку windows-1251. Заставить doxygen генерировать тег с charset=windows-1251 невозможно. Однако проблема фиксится довольно просто - достаточно в конфигурационном файле doxygen указать правильную кодировку входного файла - вместо кодировки UTF-8 указать кодировку windows-1251. Делается это правкой переменной конфига INPUT_ENCODING: # раньше тут было указано INPUT_ENCODING = UTF-8 Кроме того, если нужно правильно распознать русский текст, который есть в файле Doxygen.conf (например, это может быть текст имени проекта PROJECT_NAME и другие строки), то необходимо отредактировать переменную конфига DOXYFILE_ENCODING (указать кодировку windows-1251): # раньше тут было указано DOXYFILE_ENCODING = UTF-8 Вот так можно исправить кодировку через интерфейс GUI: После такого исправления html будет корректно генерироваться, и правильно отображаться всеми браузерами, русский текст будет без кракозябр. [Экранирование специальных символов doxygen] Для устранения предупреждений типа "имя_файла:номер_строки: warning: explicit link request to 'define' could not be resolved" нужно применять для экранирования спецсимволов обратный слеш '\' (backslash). Например, так нужно экранировать символ # вместе с ключевым словом define: тут текст \#define тут дальше текст Это устранит предупреждения типа request to '...' could not be resolved. [Ссылки] 1. DoxyGen Latest Release site:stack.nl - отсюда можно скачать бинарники и исходники Doxygen. |