Использование комментариев Lint с Doxygen

Для документации нам обычно приходится создавать дополнительный документ, описывающий, что мы делали, когда в коде были отключены любые сообщения lint. (e.g. /* lint --e228), Было бы намного проще использовать его с doxygen (поскольку мы создаем это так или иначе).

Хотя я не смог найти решение о том, как сделать doxygen используя эти комментарии. Кто-нибудь пробовал это? Есть ли решение, как использовать stric '/*lint' но в любом случае добавить его в doxygen?

Спасибо!

1 ответ

Это может быть достигнуто путем определения макроса для расширения в комментарий выражения lint, но при этом макрос раскрывается в другой комментарий при расширении с помощью doxygen,

Хитрость заключается в том, чтобы использовать -save Инструкция к ПК-линтуТМ или FlexeLintTM:

#ifndef LINT_CONTROL
#define LINT_CONTROL(X) /*lint -save X */ //lint X
#endif

int main () {
    int a; LINT_CONTROL(-e530)
    return a != a;
}

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

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = "LINT_CONTROL(X)=//! lint control: X"

В качестве альтернативы, если у вас есть FlexeLintTM, вы можете изменить скрытый источник, чтобы комментарий doxygen можно было использовать для запуска элемента управления lint. Техника описана на форуме Gimpel Software.

PC-lint и FlexeLint являются товарными знаками Gimpel Software.

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