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

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

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

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

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

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

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

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 в file1.h, @page file2 в file2.h и т. д., и @subpage комментарии в более верхнем уровне заголовка или основного исходного файла.

Другие вопросы по тегам