【发布时间】:2011-12-24 01:45:39
【问题描述】:
最近我们添加了一些代码来在编译时使用 MACROS 标记已弃用的代码。现在 Doxygen 没有正确记录已弃用的功能。
#if defined(__GNUC__)
#define DEPRECATED(func) func __attribute__((deprecated)) /**< mark a function as deprecated in gcc. */
#elif defined(_MSC_VER)
#define DEPRECATED(func) __declspec(deprecated) func /**< mark a function as deprecated in msvc. */
#endif
请注意,这是本文宏的简化版本,实际的宏会进行编译器版本检查等。
稍后在函数周围使用宏,让编译器知道该函数已被弃用,因此将发出编译器警告。
/**
* myMethod() is deprecated.
*/
DEPRECATED(
/**
* @deprecated
* Description of deprecated function
*
* @param var this is a parameter
*
* @return this is returned
*/
int myMethod(int var)
);
问题是 Doxygen 想要显示 DEPRECATED 的文档而不是 myMethod(int var) 的文档。
有谁知道如何让 Doxygen 记录 myMethod 而不是宏 DEPRECATED?
【问题讨论】: