Я использую doxygen 1.8.8 для документирования проекта C, у меня есть AUTOLINK_SUPPORT
, установленный в YES
.Doxygen: автоопределение макросов и элементов перечисления
Скажем, я макрос документированы как то:
/**
* My macro
*/
#define MY_MACRO
Тогда я упоминаю этот макрос в комментариях для некоторой функции, например:
/**
* My function uses `MY_MACRO` heavily
*/
void my_func(void) { ... }
В этом случае, MY_MACRO
ISN Это ссылка. После того, как много экспериментировать, я нашел несколько способов сделать Doxygen сделать ссылки:
- указать это следующим образом:
\ref MY_MACRO
. Мне это не нравится, потому что (а) не так удобно писать и читать в комментариях; (b) шрифт не моноширин. Я попытался объединить его с обратными окнами, это не сработает; - указать его следующим образом:
MY_MACRO()
. Мне это не нравится, потому что, очевидно, эти круглые скобки предполагают, что макрос параметризуется, но это не так; - укажите это в нижней части комментария, например:
@see MY_MACRO
. Мне это не нравится, потому что это не удобно читать, было бы намного лучше, если бы макрос ссылался на inline.
Итак, как сделать это ссылкой только в комментарии к функции?
UPD: мой Doxyfile: http://vpaste.net/FuIk4
Каковы настройки для ENABLE_PREPROCESSING, MACRO_EXPANSION, PREDEFINED, EXPAND_ONLY_PREDEF, EXPAND_AS_DEFINED. – Rich
@Rich ENABLE_PREPROCESSING = YES, MACRO_EXPANSION = NO, PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS, EXPAND_ONLY_PREDEF = NO, EXPAND_AS_DEFINED пуст. Я обновил свой вопрос: добавлена ссылка на полный файл doxy –
Странно, я не видел этого раньше. Может быть, отключить SKIP_FUNCTION_MACROS исправить? – Rich