0
次のマクロ定義を考える:gccの関数属性として、doxygenがパラメータ化されたマクロ関数属性を切り捨てるのはなぜですか?
#if defined(__GNUC__) && __GNUC__ >= 4
#define WL_PRINTF(x, y) __attribute__((__format__(__printf__, x, y)))
#else
#define WL_PRINTF(x, y)
#endif
そして次利用を与えた:
typedef void (*wl_log_func_t)(const char *, va_list) WL_PRINTF(1, 0);
doxygenは、次のように表示されて、機能の属性の一部を切り捨てているように見える。
そして、この:
doxygenはまた、私はマクロ関数属性を使用する他の例においても同様に、それを切り捨てるので、問題は(それが、これは(typedef
であることについてではありません)一貫性のあると思われます。それはマクロ自体をうまく文書化します。
マイ.doxygenの設定は次のとおりです。
PROJECT_NAME = "Wayland"
PROJECT_NUMBER = 1.12.90
OUTPUT_DIRECTORY = ../../doc/doxygen
JAVADOC_AUTOBRIEF = YES
TAB_SIZE = 8
QUIET = YES
HTML_TIMESTAMP = YES
GENERATE_LATEX = NO
MAN_LINKS = YES
PREDEFINED = WL_EXPORT=
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
DOT_MULTI_TARGETS = YES
ALIASES += comment{1}="/* \1 *<!-- -->/"
OPTIMIZE_OUTPUT_FOR_C = YES
EXTRACT_ALL = YES
EXTRACT_STATIC = YES
GENERATE_HTML = NO
GENERATE_XML = NO
GENERATE_MAN = NO
はこれを切り捨てないにDoxygenのをだますためにいくつかのきちんとした方法はありますか?