Разверните нефункциональные макросы в документации по Doxygen для C - PullRequest
1 голос
/ 15 февраля 2012

Я пытаюсь документировать мой код на C, используя doxygen.У меня есть некоторые значения по умолчанию, установленные как макросы с #define.(Я знаю, что C не имеет значений по умолчанию, но это только пример)

Например:

#define DEFAULT_WIDTH  100
#define DEFAULT_HEIGHT 200

Внутри doxygen я добавил псевдоним, который обрабатывает значения по умолчанию так, как я хочу.Рассмотрим пример функции ниже

//! Initializes something
//! @param width The width @default DEFAULT_WIDTH
//! @param height The height @default DEFAULT_HEIGHT
//! @return Result of initialization
char initSomething(int width,int height);

Это сгенерирует документацию, как я хочу, за исключением одного важного факта.DEFAULT_WIDTH и DEFAULT_HEIGHT не раскрываются, я получаю имена макросов, а не 100 и 200 соответственно.У меня действительно проверены MACRO_EXPANSION и ENABLE_PREPROCESSING.

Чего мне не хватает?Есть ли способ достичь этого с помощью doxygen?

Я настраиваю doxygen с помощью doxywizard и сейчас тестирую под Windows.

РЕДАКТИРОВАТЬ: Как указывает Угорен, можно просто документироватьмакрос, а затем doxygen свяжет эту документацию с ними.Вот как моя текущая реализация на самом деле в моем проекте.Но я пытаюсь рассмотреть дополнительные варианты - если таковые имеются.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Добавить что-то вроде

EXPAND_AS_DEFINED += DEFAULT_WIDTH

в ваш файл конфигурации doxygen.

(Документация P99 полна таких расширений макросов. Его файл конфигурации doxygen должен поставляться с дистрибутивом.)

2 голосов
/ 15 февраля 2012

Не думаю, что есть что-то более сильное, чем MACRO_EXPANSION и ENABLE_PREPROCESSING.
Проблема, вероятно, в том, что макросы в комментариях обычно не раскрываются.Для этого есть веская причина - представьте, что макрос max раскрыт в документации.

Вы можете задокументировать макрос, чтобы читатели документации могли легко найти реальное значение.

...