2015-07-01 2 views
2

Моей функции имеет другой список параметров в зависимости от того, если функция устройства включается через #define постоянной SMBSUS_INHКак документировать дополнительные параметры

например

#ifndef SMBUS_INH 
    handle initHandle(foo_t foo, SMB_Info_t smbInfo, bar_t bar); 
#else 
    handle initHandle(foo_t foo, bar_t bar); 
#endif 

Как я могу правильно документировать это?

Если я пишу документацию дважды, то внутри каждого из пунктов #if ... else будет doxygen игнорировать нерелевантный? Или он все еще увидит блок документации bothe и жалуется, что у него нет связанной функции?

Есть ли лучший способ управления этим? Благодарю.

ответ

2

Doxygen выполняет частичную предварительную обработку: если вы поместите определенную документацию в часть if/else, будет показана только соответствующая документация. Однако, это действительно хорошо? Как пользователь, мне может быть интересно видеть каждый другой прототип, даже несмотря на то, что он отключен во время компиляции.

источник: http://www.stack.nl/~dimitri/doxygen/manual/preprocessing.html

+0

Спасибо! Ну, идея состоит в том, что пользователи будут читать документацию, где также указывается переключатель '# define'. Я мог бы просто, например, оставить параметры и установить их NULL, если они не используются, но неиспользуемый код по-прежнему будет нуждаться в пространстве, и это на встроенной платформе, поэтому пространство имеет решающее значение. Использование переключателя означает, что код доступен только на устройстве, если эта функция доступна. – Toby

+0

Хотя я предполагаю, что могу просто использовать переключатель внутри функции и прокомментировать соответствующие части кода ... – Toby