我使用 doxygen 1.8.8 来记录 C 项目,我将 AUTOLINK_SUPPORT
设置为 YES
。
比如说,我有一个这样记录的宏:
/**
* My macro
*/
#define MY_MACRO
然后,我在某些功能的注释中提到了这个宏,如下所示:
/**
* My function uses `MY_MACRO` heavily
*/
void my_func(void) { ... }
在这种情况下,MY_MACRO
不是引用。经过大量实验,我找到了一些制作doxygen的方法供引用:
- 像这样指定它:
\ref MY_MACRO
。我不喜欢它,因为(a)在评论中写和读不太方便; (b) 字体不是等宽的。我试着把它和反引号结合起来,它不起作用; - 像这样指定它:
MY_MACRO()
。我不喜欢它,因为很明显,这些括号暗示宏是参数化的,但事实并非如此; - 在注释底部指定它,像这样:
@see MY_MACRO
。我不喜欢它,因为它不方便阅读,如果内联引用宏会好得多。
那么,如何让它只在函数的注释中被引用呢?
UPD: 我的 doxyfile:http://vpaste.net/FuIk4
最佳答案
如 autolink docs 中所述, 我们应该在宏名称、枚举项或枚举名称前加上 #
:
/**
* My function uses `#MY_MACRO` heavily
*/
void my_func(void) { ... }
然后,MY_MACRO
成为链接。
关于c - Doxygen:宏和枚举元素的自动引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078924/