Doxygen C预处理器宏文档样式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Doxygen C预处理器宏文档样式相关的知识,希望对你有一定的参考价值。
我刚刚注意到Doxygen为C预处理器宏生成文档的方式很有趣。在Doxygen's manual(///
,//!
和/** */
)中创建块注释的三种样式中,只有前两种样式(///
,//!
)将显示文件宏列表的简要描述。
我的问题是:这是设计的吗?我有一个控制它的配置选项?我找不到任何有关Javadoc样式应该与Qt和C ++样式不同的信息。
我尝试使用MULTILINE_CPP_IS_BRIEF
配置选项,但没有任何效果。
test.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 );
}
test.h
/** @file */
/**My Preprocessor Macro.*/
#define TEST_DEFINE(x) (x*x)
/**
* @defgroup TEST_GROUP Test Group
*
* @{
*/
/** Test AAA documentation. */
#define TEST_AAA (1)
/** Test BBB documentation. */
#define TEST_BBB (2)
/** Test CCC documentation. */
#define TEST_CCC (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_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 ++样式得到不同的行为,我觉得这是错误的。
谢谢!
P.S:
Doxygen -x
针对以下Doxyfile:
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_AUTOBRIEF
没有做任何事情(即使在DEFINE_C
时我也会对DEFINE_G
和QT_AUTOBRIEF=NO
进行简要描述)。
谢谢!
以上是关于Doxygen C预处理器宏文档样式的主要内容,如果未能解决你的问题,请参考以下文章