Macros Doxygen C预处理器宏文档样式

Macros Doxygen C预处理器宏文档样式,macros,c-preprocessor,doxygen,Macros,C Preprocessor,Doxygen,我刚刚注意到Doxygen为C预处理器宏生成文档的方式有些有趣。在(//、/!和/***/中创建块注释的三种样式中,只有前两种样式(//、/!)将在文件的宏列表中显示简要说明 我的问题是:这是设计的吗?我有一个配置选项来控制这个吗?我找不到任何信息,JavaDoc风格应该和QT和C++风格不同。 我尝试使用MULTILINE\u CPP\u IS\u-BRIEFconfig选项,但没有任何效果 测试c /** * @file test.c * @brief A test */ #incl

我刚刚注意到Doxygen为C预处理器宏生成文档的方式有些有趣。在(
//
/!
/***/
中创建块注释的三种样式中,只有前两种样式(
//
/!
)将在文件的宏列表中显示简要说明

我的问题是:这是设计的吗?我有一个配置选项来控制这个吗?我找不到任何信息,JavaDoc风格应该和QT和C++风格不同。

我尝试使用
MULTILINE\u CPP\u IS\u-BRIEF
config选项,但没有任何效果

测试c

/**
 * @file test.c
 * @brief A test
 */

#include <stdio.h>

/** This is a define that doesn't have a brief explanation on the macro list */
#define DEFINE_A   1 
/// This is another define, it's brief explanation appears on the file's macro list
#define DEFINE_B   2
//! This is another define, it's brief explanation appears on the file's macro list
#define DEFINE_C   3 

#define DEFINE_D   4 /**<  This is a define that doesn't have a brief explanation on the file's macro list */
#define DEFINE_F   4 ///< This is another define, it's brief explanation appears on the file's macro list
#define DEFINE_G   4 //!< This is another define, it's brief explanation appears on the file's macro list

/**
 * A simple test function
 *
 * @param[in] x An integer argument
 * @return always zero
 */
int test_fcn( int x )
{
    return x*x;
}

int main(void)
{
    return test_fcn( 3 );
}
Doxyfile

PROJECT_NAME           = "test"
OUTPUT_DIRECTORY       = doc_out
INPUT                  = test.c test.h
#MULTILINE_CPP_IS_BRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
我正在Windows 7 64位上使用Doxygen 1.8.15


谢谢!

问得太快了。我要找的选项是
JAVADOC\u AUTOBRIEF=YES

但有一件奇怪的事,这些应该是的默认值

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
但实际的违约行为是

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = YES
MULTILINE_CPP_IS_BRIEF = YES
如果我在Doxygen文件上使用以下选项:

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
<>我从JavaDoc、QT和C++风格中得到不同的行为,我觉得这是错误的。 谢谢

附言:

Doxygen-x
针对以下Doxygen文件:

PROJECT_NAME           = "test"
OUTPUT_DIRECTORY       = doc_out
INPUT                  = test.c test.h
JAVADOC_AUTOBRIEF      = YES
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
给出:

# doxygen.exe -x Doxyfile
# Difference with default Doxyfile 1.8.15
PROJECT_NAME           = test
OUTPUT_DIRECTORY       = doc_out
JAVADOC_AUTOBRIEF      = YES
INPUT                  = test.c \
                         test.h
似乎
QT\u AUTOBRIEF
没有做任何事情(我得到了
DEFINE\u C
DEFINE\u G
的简要描述,即使
QT\u AUTOBRIEF=NO


谢谢!

问得太快了。我要找的选项是
JAVADOC\u AUTOBRIEF=YES

但有一件奇怪的事,这些应该是的默认值

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
但实际的违约行为是

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = YES
MULTILINE_CPP_IS_BRIEF = YES
如果我在Doxygen文件上使用以下选项:

JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
<>我从JavaDoc、QT和C++风格中得到不同的行为,我觉得这是错误的。 谢谢

附言:

Doxygen-x
针对以下Doxygen文件:

PROJECT_NAME           = "test"
OUTPUT_DIRECTORY       = doc_out
INPUT                  = test.c test.h
JAVADOC_AUTOBRIEF      = YES
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
给出:

# doxygen.exe -x Doxyfile
# Difference with default Doxyfile 1.8.15
PROJECT_NAME           = test
OUTPUT_DIRECTORY       = doc_out
JAVADOC_AUTOBRIEF      = YES
INPUT                  = test.c \
                         test.h
似乎
QT\u AUTOBRIEF
没有做任何事情(我得到了
DEFINE\u C
DEFINE\u G
的简要描述,即使
QT\u AUTOBRIEF=NO


谢谢!

你能用
你的doxygen文件做一个
doxygen-x
吗?你能用
你的doxygen文件做一个
doxygen-x
吗?它给出了错误的结果,并且把结果也放在你的答案中?