C Doxygen:宏和枚举元素的自动引用

C Doxygen:宏和枚举元素的自动引用,c,doxygen,C,Doxygen,我使用doxygen 1.8.8来记录C项目,我有AUTOLINK\u支持设置为YES 比如说,我有这样一个宏文档: /** * My macro */ #define MY_MACRO 然后,我在一些函数的注释中提到了这个宏,如下所示: /** * My function uses `MY_MACRO` heavily */ void my_func(void) { ... } 在本例中,MY_MACRO不是引用。经过大量的实验,我找到了一些方法来制作doxygen作为参考: 如

我使用doxygen 1.8.8来记录C项目,我有
AUTOLINK\u支持
设置为
YES

比如说,我有这样一个宏文档:

/**
 * My macro
 */
#define MY_MACRO
然后,我在一些函数的注释中提到了这个宏,如下所示:

/**
 * My function uses `MY_MACRO` heavily
 */
void my_func(void) { ... }
在本例中,
MY_MACRO
不是引用。经过大量的实验,我找到了一些方法来制作doxygen作为参考:

  • 如下所示指定它:
    \ref MY\u MACRO
    。我不喜欢它,因为(a)写评论和读评论都不方便;(b) 字体不是等距的。我试着把它和回拍结合起来,它不起作用
  • 如下所示指定它:
    MY\u MACRO()
    。我不喜欢它,因为很明显,这些括号表明like宏是参数化的,但它不是
  • 在注释的底部指定它,如下所示:
    @请参阅MY_宏
    。我不喜欢它,因为它不便于阅读,如果宏是内联引用的话会更好
那么,如何使其仅在comment for函数中引用

UPD:my doxyfile:

如中所述,我们应该在宏名称、枚举项或枚举名称前面加上一个


然后,
MY\u MACRO
成为一个链接。

启用\u预处理、宏\u扩展、预定义、仅扩展\u PREDEF、按定义扩展\u的设置是什么。@Rich ENABLE\u PREPROCESSING=YES,MACRO\u EXPANSION=NO,预定义=DOXYGEN\u应跳过此项,仅扩展\u PREDEF=NO,按定义扩展\u为空。我更新了我的问题:添加了完成DoxyFileTrange的链接,我以前从未见过这种行为。也许禁用跳过函数宏可以修复它?@Rich不,没有任何改变。您的意思是,对于您的项目,枚举元素和非参数化宏是自动链接的吗?如果是的话,你能分享你的doxyfile和可能的项目吗,如果你有开源的东西的话?我必须做一些挖掘-我的记忆在这里有点弱。如果我的_宏有一个显式的值,Doxygen的行为是否会有所不同?我在常量上遗漏了一条Doxygen注释。这很棘手!(另外,为了使我在C文件中的函数引用正常工作,我需要在顶部添加@file注释)
/**
 * My function uses `#MY_MACRO` heavily
 */
void my_func(void) { ... }