doxygen1.6.1参数

来源:互联网 发布:淘宝自动点内容回复 编辑:程序博客网 时间:2024/06/05 14:36

软件版本:1.6.1

各参数含义:

一、项目相关的配置选项

(1)DOXYFILE_ENCODING = utf-8

这个标签指定在配置文件中使用的所有字符的编码。默认值utf-8也是这个标签出现之前文本的默认字符编码;

(2)PROJECT_NAME  = test

这个标签是一个单词,或者是用双引号引起来的一串字符

(3)PROJECT_NUMBER         = 1.0

相当于项目版本,如果正在使用某版本控制系统或者使用已有文档的项目号,那会很方便填入该值。

(4)OUTPUT_DIRECTORY       = /home/hz/docs

这个标签用来指定输出文件所在的路径(绝对或相对路径),如果留空,则为当前使用的文件夹。

(5)CREATE_SUBDIRS         = NO

如果这个标签被设置成yesdoxygen会在输出目录下产生4096个子目录,这些文件夹分两个层次分布于每种输出格式的输出文件夹中,并存放生成的文件。当需要给 Doxygen输入大量源文件时,特别是需要源文件与生成的文件置于同一个文件夹中时,打开这个开关非常有用,否则将会导致文件系统性能的下降。

(6)OUTPUT_LANGUAGE        = Chinese

输出语言标签用于指定Doxygen生成文档时所使用的语言种类。Doxygen将使用此信息以恰当的语言生成所有内容。默认的语言是English

(7)BRIEF_MEMBER_DESC      = YES

如果 BRIEF_MEMBER_DESC标签设置为YES(默认值),Doxygen将在文件文档所列的成员后面加上成员主要描述信息。这个功能类似于JavaDoc;设置为NO可以关闭这个开关。

(8)REPEAT_BRIEF           = YES

如果 REPEAT_BRIEF标签设置为YES(默认值),Doxygen将在成员或函数的详细描述之前加上主要描述信息。注意:如果 HIDE_UNDOC_MEMBERS BRIEF_MEMBER_DESC 都设置为NO,那么主要描述信息将被自动去掉。

(9)ABBREVIATE_BRIEF       =

该标签实现了对主要描述信息的一定程度上的智能化缩略功能,用于自动生成不同列表中的文本。在列表中的字符串,如果在主要描述信息开头部分被找到,那么该字符串将从信息中剔除,整个列表处理后的结果被视为注释文本。否则,主要描述信息则不会被缩略。如果该项留空,那么下面的值会被使用:"The $name class" "The $name widget" "The $namefile" "is" "provides" "specifies" "contains" "represents" "a" "an" "the",其中 "$name" 会被自动替换为实际名称。

(10)ALWAYS_DETAILED_SEC    = NO

如果 ALWAYS_DETAIED_SEC REPEAT_BRIEF 均设置为 YES,那么Doxygen将生成一个详细描述部分,即使是只有主要描述部分。

(11)INLINE_INHERITED_MEMB  = NO

如果 内联继承成员 标签设置为 YESDoxygen将在类文档中显示所有该类的子成员,就好像这些成员是普通类成员一样。但基类的构造函数、析构函数和赋值运算符不会被显示。

 

(12)FULL_PATH_NAMES        = YES

如果完全路径名称标签设置为 YES,那么 Doxygen 将在文件列表及头文件中的文件名前增加完全路径。如果设置为 NO,那么将会使用最短路径,只要文件名称不重复即可。

(13)STRIP_FROM_PATH        =

如果完全路径名称设置为YES,那么 STRIP_FROM_PATH标签可以被用来剔除路径中用户定义(隐私?)部分。只要路径名左端含有某个指定的字符串,剔除就会起作用。该标签可被用来显示文件列表中的相对路径。如果留空,那么doxygen的运行路径将被用来作为剔除字符串。

(14)STRIP_FROM_INC_PATH    =

STRIP_FROM_INC_PATH标签可以剔除类文档中提及到的用户定义的路径部分,这部分路径主要是告诉读者使用类时需要include哪个头文件。如果该标签留空,那么只显示头文件的名字,那样的话,用户需要在编译时使用 -l 标志告诉编译器头文件的路径。

(15)SHORT_NAMES            = NO

如果SHORT_NAMES设置为 YESDoxygen将生成较短的文件名,可能造成可读性差。这个设置在不支持长文件名的DosMacCD-ROM文件系统中较为有用。

(16)JAVADOC_AUTOBRIEF      = NO

如果该项设置为YES,那么Doxygen将把JavaDoc-型注释语句的第一行(直到遇到第一个点号为止)作为主要描述使用。如果设置为NO,那么JavaDoc注释将作为通用的Qt-型注释发挥作用(这需要显式使用 @brief 命令确定主要描述部分)。

(17)QT_AUTOBRIEF           = NO

如果该项设置为YES,那么Doxygen将把Qt-型注释语句的第一行(直到遇到第一个点号为止)作为主要描述使用。如果设置为NO,那么该注释将作为通用的Qt-型注释发挥作用(这需要显式使用 /brief 命令确定主要描述部分)。

(18)MULTILINE_CPP_IS_BRIEF = NO

该标签设置为YES,可以让 DoxygenC++中注释模块视为主要描述,例如 //! /// 开头的注释语句。之前YES是默认值,新的默认值(NO)把C++多行注释模块视为详细描述。

(19)INHERIT_DOCS           = YES

如果该标签设置为YES(默认值),那么未进入文档的成员将在文档方面同样继承它所重新实现的成员文档。

(20)SEPARATE_MEMBER_PAGES  = NO

如果该项设置为YES,那么Doxygen将为每个成员生成新的页面。如果设置为NO,成员文档将成为 file/class/namespace 所包含的一部分。

(21)TAB_SIZE               = 4

Tab尺寸标签将被用来设置一个标签的空间数值。

(22)ALIASES                =

该标签可以指定文档中命令的数量,别名格式为“name=value”。比如增加“sideeffect=/par SideEffects:/n”将允许你在为文档中置入命令/sideeffect 或者@sideeffect ,该命令可以生成带有“SideEffects”的用户定义的段落。注意:如上,你可以增加 /n 以插入新行。

(23)OPTIMIZE_OUTPUT_FOR_C  = NO

如果你的项目仅包含C语言代码,那么应该设置该标签为YESDoxygen将使输出结果更适合于C语言。例如,有些命名可能会不同,成员列表可能会忽略等等。

(24)OPTIMIZE_OUTPUT_JAVA   = NO

如果你的项目仅包含Java语言代码,那么设置该标签为YESDoxygen将使输出结果更适合于Java语言。例如,命名空间将以包的形式表示,合法范围也会略有不同等等。

(25)EXTENSION_MAPPING      =

doxygen 选择解析器取决于它要解析文件的扩展名。使用这个标签你可以特定扩展名的文件指定特定的分析器。

doxygen有内建的映射,但是使用这个标签你可覆盖或扩散它。

格式就是ext=language, ext就是文件的扩展名了,语言就是doxygen解析器所支持语言:IDL, Java, Javascript, C#, C, C++, D, PHP,

Objective-C, Python, Fortran, VHDL. 比如你要把.inc文件作为Fortran文件(它默认是PHP文件),或者把.f文件作为C语言文件(默认是Fortran文件)

你可以这样用:inc=Fortran f=C. 注意使用自定义扩展你还要指定FILE_PATTERNS否则doxygen是不会读它们的。

(26)BUILTIN_STL_SUPPORT    = NO

如果你使用标准模版库类,如 std::string, std::vector等,但又不想作为输入包含STLtag文件)源代码,那么你应该设置该标签为YES,以使Doxygen能够在声明函数或定义时匹配包含STL类参数(如,func(std::string))及 func(std::string){}。这也会使涉及STL类的继承图和协作图更完整和精确。

(27)CPP_CLI_SUPPORT        = NO

如果你使用微软的 C++/CLI 语言,你应该设置该标签为YES以使其能够被支持。

(28)SIP_SUPPORT            = NO

如果你的项目仅包含sip源码,要把这个标签置为yesDoxygen会像解析正常的C++一样解析它们,但会把没有明确说明继承关系的类默认为公有而不是私有继承。

(29)IDL_PROPERTY_SUPPORT   = YES

对于微软的接口定义语言来说,对于每一个属性都有一个propgetpropput属性表明它的gettersetter方法。

把这个标签置为yes(默认值)doxygen会在文档中用属性去代替getset方法。这也只会在方法确实是在获取或设置一个简单类型的时候有效。如果不是这种情况,或者你想显示这个方法,你就应该把这个标签置为NO

(30)DISTRIBUTE_GROUP_DOC   = NO

如果文档中需要使用成员分组同时该标签设置为YES,那么Doxygen将为其他成员重复使用分组中第一个成员的文档(如果有)。默认情况下,分组中所有成员都必须被明确地加入到文档中。

(31)SUBGROUPING            = YES

如果设置子分组标签为YES(默认值),即允许相同类型的类成员组被放置在一个类型的子分组中,比如一组公共函数。如果设置为 NO即阻止子分组的出现,当然也可以使用 /nosubgrouping 命令实现。

(32)TYPEDEF_HIDES_STRUCT   = NO

对于使用 typedef 定义的结构体、枚举、联合等数据类型,只按照 typedef 定义的类型名进行文档化。

(33)SYMBOL_CACHE_SIZE      = 0

SYMBOL_CACHE_SIZE决定了用于把哪些符号驻存在内存中哪些刷新到硬盘里的内部缓存大小。

当缓存满的时候,不经常使用的符号就会被写到磁盘里。对于中小型项目(小于1000个源代码文件)

默认大小就够了。对于大型项目,太小的缓存大小会致使doxygen忙于与磁盘交换符号从而导致性能

下降。

如果系统有足够大的物理内存增大缓存大小会使这些符号常驻于内存从而改善性能。注意这个值是对数

级的,将它加1意味着会使原来的缓存增加两倍。缓存大小的计算方法是:

2^(16+SYMBOL_CACHE_SIZE)。有效范围是09,默认值是0,相当于65536个符号缓存的大小。

二、  创建相关的配置选项

(1)EXTRACT_ALL            = NO

如果这个标签被设置为yesdoxygen会将把将文件中的所有实体文档化,包括doxygen未知的文档(注释)。这样doxygen将尝试对源码中的所有注释进行分析。如果EXTRACT_PRIVATEEXTRACT_STATIC没被设成yes,私有类成员和静态文件成员将会被隐藏掉。

(2)EXTRACT_PRIVATE        = NO

如果这个标签被设置成yes所有的类私有成员都会被包含到文档中。

(3)EXTRACT_STATIC         = NO

如果这个标签被设置成yes,一个文件中的所有静态成员都会被包含到文档中。

(4)EXTRACT_LOCAL_CLASSES  = YES

如果这个标签被设置成yes,定义在源代码实现文件中的类和结构(classes and structs)会被包含进文档中,如果被设置成no,则只有定义在头文件中的类才会被包含到文档中。

(5)EXTRACT_LOCAL_METHODS  = NO

这个标签只对面向对象的C有用。

(6)EXTRACT_ANON_NSPACES   = NO

如果这个标签被设置成yes,无名命名空间的成员会被展开并作为一个名叫'anonymous_namespace{file}'的命名空间出现在文档中,这里的file会被替换成包含这个无名命名空间的那个文件的名字(去掉后缀名)。默认情况下无名命名空间是被隐藏的。

(7)HIDE_UNDOC_MEMBERS     = NO

表示那些没有使用doxygen格式描述的文档(函数或类等)就不显示了。当然,如果EXTRACT_ALL被启用,那么这个标志其实是被忽略的。

(8)HIDE_UNDOC_CLASSES     = NO

7

(9)HIDE_FRIEND_COMPOUNDS  = NO

如果这个标签被设成yesDoxygen将会隐藏所有友员类|结构体|联合声明,如果被设置为no这些声明则会被包含到文档中。

(10)HIDE_IN_BODY_DOCS      = NO

如果这个标签被置为yesDoxygen会隐藏函数体内所有的注释块。如果被设置成no(默认值),这些注释块会被追加到函数的详细注释块。

(11)INTERNAL_DOCS          = NO

主要指是否输出注释中的@internal部分。如果没有被启动,那么注释中所有的@internal部分都将在目标帮助中不可见。

(12)CASE_SENSE_NAMES       = YES

生成的文件名是否区分大小写,对于Windowsmac用户建议设置为no

(13)HIDE_SCOPE_NAMES       = NO

如果这个标签被设置成no(默认值),帮助文档中显示的成员将带上它们的类作用域和命名空间。

(14)SHOW_INCLUDE_FILES     = YES

如果被置成yes帮助文档中会把这个文件所包含的所有头文件都列出来。

(15)INLINE_INFO            = YES

如果这个标签被置为yes(默认值),那么对于内联成员前面将加上[inline]标签。

(16)SORT_MEMBER_DOCS       = YES

如果这个标签被置为yes(默认值),那个doxygen会按字母顺序排列类成员。否则这些类成员将以它们被声明的顺序出现。

(17)SORT_BRIEF_DOCS        = NO

16差不多,这个是按brief字母排序。

(18)SORT_MEMBERS_CTORS_1ST = NO

如果这个标签被设置yesdoxygen会根据(brief和详细信息)排序文档中的类成员,这样的话构造和析构就被放在清单的前面。如果被设置成NO(默认值),构造函数的显示顺序就会分别按照SORT_MEMBER_DOCSSORT_BRIEF_DOCS定义的方式。

当把SORT_BRIEF_DOCS设置成NO的时候,这个标签对brief的作用就会失效。

当把SORT_MEMBER_DOCS设置成NO的时候,这个标签对detailed的注释就会失效。

(19)SORT_GROUP_NAMES       = NO

如果这个标签被设置成yesdoxygen会按照组的名字按照字母表排序。

(20)SORT_BY_SCOPE_NAME     = NO

如果被设成yes,就会对类和命名空间按照名字排序。

(21)GENERATE_TODOLIST      = YES

产生todo列表,前提是在文档中放置/todo命令。

(22)GENERATE_TESTLIST      = YES

在文档中放置/test命令的情况下产生test列表。

(23)GENERATE_BUGLIST       = YES

在文档中放置/bug命令的情况下产生bug列表。

(24)GENERATE_DEPRECATEDLIST= YES

同上,产生deprecated列表。

(25)ENABLED_SECTIONS       =

使条件注释块生效,使用方式是这样的:/if   段名   ...  /endif

(26)MAX_INITIALIZER_LINES  = 30

变量声明在文档中能显示的最大值。可以通过/showinitializer or /hideinitializer去控制,从而忽略这儿的限制。

(27)SHOW_USED_FILES        = YES

设置成yes的话会把所有产生该文档的所用到的文件都列到这个文档的底部。

(28)SHOW_DIRECTORIES       = NO

是否显示文件列表页面,如果开启,那么帮助中会存在一个一个文件列表索引页面。

(29)SHOW_NAMESPACES        = YES

NO关闭命名空间页的产生。这样会从快速索引和文件夹树形显示(如果指定的话)中将命名空间删除。默认开启。

(30)FILE_VERSION_FILTER    =

基本上用不到,用到再查吧。

(31)LAYOUT_FILE            =

指定一个布局文件给doxygen,如果未指定,则使用默认的DoxygenLayout.xml

三、有关告警和进度的配置

(1)QUIET                  = NO

 QUIET 如果开启,那么表示关闭编译时的输出信息。

(2)WARNINGS               = YES

默认打开警示信息。

(3)WARN_IF_UNDOCUMENTED   = YES

设置成yes的话会对未加注释的方法产生警示,但如果EXTRACT_ALL被置成yes的话,这个标签将被自动关闭。

(4)WARN_IF_DOC_ERROR      = YES

如果这个标签被设置成yesdoxygen会为文档中潜在的错误产生警示,比如没有为函数参数加注释,或者为没有参数加了注释,或者误用了标记命令。

(5)WARN_NO_PARAMDOC       = NO

这个参数被置成yes的话,doxygen将能对注释了函数,但没有对函数参数或返回值作注释的情况产生警示。如果被置为no的话,doxygen将只能对错误的或不完整的参数注释产生告警,但不能为没有这些注释产生告警。

(6)WARN_FORMAT            = "$file:$line: $text"

WARN_FORMAT 表示日志输出的格式,没必要修改。

(7)WARN_LOGFILE           =

WARN_LOGFILE 表示warning和错误信息是否输出到LOG文件,如果不写将输出到标准错误输出中。

四、有关输入文件的配置项

(1)    INPUT  =

这个标记创建一个以空格分隔的所有目录的列表,这个列表包含需要生成文档的 C/C++ 源代码文件和头文件。如果项目只有一个源代码根目录,其中有多个子目录,那么只需指定根目录并把 <RECURSIVE> 标记设置为 Yes

(2)INPUT_ENCODING         = UTF-8

也就是DoxyGen需要解析的输入文件的编码

(3)FILE_PATTERNS          = *.c *.cpp *.h

输入的文件列表。

(4)RECURSIVE              = NO

如果设置成yes的话,对源代码目录进行递归。

 

doxygen认识的注释

函数注释:

/**
  * @brief
这是一个函数

  * @param a
参数一
  * @param b
参数二
  * @return
无返回值
  */

行间注释:

/** /*!

*

*/

行内注释:

/** 这是行内注释 */

/*! 这是行内注释 */

对中文输出是乱码的处理:

INPUT_ENCODING = GB2312 

这样Doxygen在生成文档时自动将文件的编码从GB2312转换为UTF-8,输出就没有乱码了。