Как отразить структуру каталогов C с помощью групп Doxygen?

Мне нужна базовая помощь по использованию Doxygen в коде C. Все основные документы выходят нормально, и мне нужна помощь в структурировании большого длинного списка файлов и функций.

У меня есть исходное дерево C, которое выглядит так:

src/
 +--util/
    +--file1.h
    +--file1.c
    +--file2.h
    +--file2.c
 +--stats/
    +--file3.h
 +--etc/

Очень стандартно. В настоящее время doxygen генерирует плоский список всех файлов. Мы ссылаемся на каждый dub-dir src/ как на «модуль», и поэтому документирование этого кажется подходящим для модулей/групп Doxygen.

Как именно я должен использовать команды группировки для отражения структуры каталогов выше? Я хочу использовать модуль в сгенерированных документах, который ссылается на документы file1 и file2. Точно так же, как JavaDoc будет обрабатывать пакет.

Добавление тегов /addtogroup util & @{ к каждому заголовочному файлу привело к созданию мини-сайта с плоским списком всех структур данных и т. д. во всех заголовках, чего я не ожидал и не хотел. Возможно, это то, что должны делать группы doxygen, т. е. единообразно документировать API, когда код реализован в нескольких файлах?


person David Kennedy    schedule 25.02.2011    source источник


Ответы (1)


Более простой вариант использования модулей — использовать @page и @subpage. Чтобы получить что-то похожее на описанный вами макет, вы можете использовать следующее:

@page util Util
This page describes util module.
@subpage file1
@subpage file2

@page stats Stats
This page describes stats module.
@subpage file3

@page etc
Blah blah blah

@page file1 File 1
This is file 1.

@page file2 File 2
This is file 2.

@page file3 File 3
This is file 3.

Эти комментарии, конечно, могут содержаться в одном файле или во многих. Обычно я помещал @page file1 в файл1.h, @page file2 в файл2.h и т. д., а комментарии @subpage помещал в заголовок более высокого уровня или основной исходный файл.

person Ben    schedule 17.06.2011