doxygen简单介绍

  1. 概述

    doxygen官方文档

    这是一个生成文档的工具,可以通过代码文件中的注释进行文档的生成,通过画图工具可以绘制调用过程和文件包含关系等

  2. 安装

    sudo apt-get install doxygen doxygen-gui

    doxygen-gui是一个可以通过图形界面生成配置文件的工具

  3. 使用

    只要在代码注释中做了特殊的标记,就使用这个工具进行文档的生成

    过程如下(详细配置以后再说)

    1. mkdir doc;cd doc

    2. doxygen -g ;#生成一个配置文件名字为Doxyfile

    3. 打开Doxyfile,修改里面的配置(粗体是使用的配置)

      GENERATE_LATEX = YES| NO #这个是配置是不是生成latex(pdf)

      DISABLE_INDEX = YES | NO #索引是不是有,可能影响搜索功能

      GENERATE_TREEVIEW = YES | NO #是不是生成右侧的树型索引

      EXTRACT_ALL = YES | NO #这个配置生成文档的大小,我们向让它详细,就配置YES

      INPUT = ../ #这个配置输入的文件目录,源文件在那个目录下.

    4. 执行 doxygen Doxygen 就能生成一个html目录,里面有生成的文档.

  4. 使用doxygen时的注释应该如何写

    注解官方文档 doxygen Sepcial Command

    注解

    一般来说,注释都是说明的后面代码的,如果想让注释说明前面的代码,可以使用在注明写入doxygen文档的标记后紧跟一个<来说明,比如做结构体或者成员变量的注释的时候,注意,写在后面的注解只能指明注解说明的是前 一 行的内容

    在注释后在写一个前一个字符就是告诉doxygen这个注释就是要写入文档的, 比如

    C // 是普通注释,///就是写入doxygen文档的注释了, /* */ 是普通注释, /** */ 就是写入doxygen文档的注释了,

    PYTHON 中 # 是普通注释, ## 就是写入doxygen文档的注释了.

  5. 注释中常用的标记

    注意 一般来说,详细的描述都是在\brief后面空一行开始的,如果不空一行,都会即使换行了也会认为是brief的内容的多余的空行doxygen都会认为是空一行的, 空一行的解释 空一行不只是一个 \n ,是在一行内,只有doxygen识别出写入文档的标记 之前的内容,如下所示:

    /**         (这里是标记开始写入doxygen库)
     * \brief   (这里标记这是一个简要说明)
     *          (这里是空行的样式)
     *          (这里如果有信息,就认为是详细注释的内容)
     *          (多余的空行doxygen会认为只有一个空行)
     */
    

    使用 \xxxx 或者 @xxx 标识一个标记,标记会让doxygen特殊处理后面的注释.

    常用

    \brief 简短说明,这个会在概述部分出现的说明,旁边会有一个more按钮,点击查看详情,

    \param 参数说明,做在函数前面是说明每个参数的作用,doxygen会做特殊处理,换个颜色

    \return 说明一个函数的返回值

    \retval 说明返回值类型

    说明类标记

    \note 这个是说明部分,doxygen会起一个 Note 或者 说明 段落进行说明 这个标签之后的注释内容

    \attention 注意

    \warning 警告信息

    \exception 可能产生的异常描述

    会产生连接的标记

    \see 后面加一个class名称或者function名称,doxygen会生成一个指向这个函数详细说明的连接

    \enum [MY_ENUM|CTest::Enum] 后面加一个枚举,

    \var [Variable] 引用某个变量

    \class 引用某个类

    下面是给文件注释的时候常用的标记,一般用在文件的开头

    \file 文件名(这个一般写文件的文件名称,在文件里看到本文件的文件名称,不要写别的,注释规范,具体为啥我也不知道啊)

    \brief 这个和对函数和类的注释的含义是一样的,对一个文件的简单注释

    \author 说明这个文件的作者

    \version [1.1] 版权声明

    \date 文件的创建日期

  6. 结构体或者类成员变量的说明

    没有这类特殊标记的,doxygen会分析代码的结构,我们只要在对应的变量前面或者 统一行的后面(使用<) 做写入doxygen文档的标记就行了.

  7. 有关doxygen生成图表的配置.

    准备工作:

    sudo apt-get install graphvize doxygen doxygen-gui

    配置步骤:

    1. 运行 doxywizard
    2. 文件打开一个使用doxygen -g 生成的配置文件
    3. 在 Wizard => Mode 下配置 All Entities 和 Include cross-referenced source code in the output ,在下面选择一个
      针对语言的优化选项
    4. 在 Wizard => Output 下配置输出格式,
    5. 生成图表这一步是关键 在 Wizard => Diagrams 下配置生成的图表类型勾选 Call graphs 和 Called by graphs 等等,就会生成对应图表
    6. 在 Export => Project 下选择输出语言 这个语言是值doxygen的网也框架的语言,选英文也是可以输出中文注释的,
    7. 生成图表这一步是关键 在 Export => Dot 下勾选 CALL_GRAPH CALLER_GRAPH 等,配置DOT_PATH (一般配置为/usr/bin)
    8. 在 Run 下点击 Run doxygen 开始生成文档,关闭的时候会提示是否保存,点击保存,以后就可以使用doxygen生成了.

doxygen简单介绍相关推荐

  1. Doxygen详细介绍

    1   序言 为代码写注释一直是大多数程序员有些困扰的事情.当前程序员都能接受为了程序的可维护性.可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有 ...

  2. (一)Ns3网络仿真软件简单介绍

    (一)Ns3网络仿真软件简单介绍 1.  什么是NS-3? NS是一个开源离散事件驱动网络模拟器.官方定义:(fromhttp://www.nsnam.org/) ns-3 is a discrete ...

  3. 遗传算法的简单介绍以及模式定理的简单证明

    遗传算法   遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...

  4. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

  5. 2021年大数据ELK(十五):Elasticsearch SQL简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch SQL简单介绍 一.SQL与Elasticsear ...

  6. 2021年大数据ELK(二):Elasticsearch简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.Elasticsearch简介 1.介绍 2.创始人 二.E ...

  7. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  8. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  9. LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍

    LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍 LVS (Linux Virtual Server) LVS(Linux Virtual Server)其实就是 ...

最新文章

  1. 反调试检测之一TracerPid
  2. 什么是Lucene和Solr和Elasticsearch,它们的区别是什么?
  3. 学习笔记(59):Python实战编程-Graphics
  4. python如何对文件进行批量命名-利用Python对文件批量重命名
  5. linux 扩展挂载盘大小_Linux 挂载新添加磁盘LVM配置
  6. 局域网电脑使用同一台鼠标键盘控制
  7. 泰克示波器面板上的旋钮的作用有哪些
  8. 启动3Dmax到初始化..界面卡住然后闪退解决办法
  9. 对称加密密码 对称加密算法
  10. Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块
  11. 北风设计模式课程---里氏代换原则
  12. 针式个人知识管理系统帮助:实现您的PKM梦想!
  13. Cloud Paks地理数据研究成果|IBM
  14. 如何在保持营养均衡的同时不长肉
  15. 什么是地狱回调?解决回调地狱的两种方法
  16. Centos7虚拟机下安装配置Tomcat
  17. Unity编辑器拓展(Handles/EditorTool)
  18. 给想学UG编程的人几点建议
  19. 前端人的前端CI/CD
  20. 笔记本电脑一直插着电源对电池好不好?

热门文章

  1. 外部波澜起伏,内心平静如常
  2. 服务器项目验签失败,服务器验签失败
  3. 基于SSM的书店管理系统
  4. 明明白白给XBOX 360建兴光驱刷LT2光驱固件
  5. linux下运行directx,使用DXVK在Linux上改善您的葡萄酒游戏
  6. 机器人课程对孩子的用意
  7. 37互娱,2019秋招提前批,Java
  8. 基于SSM开发实现校园疫情防控管理系统
  9. Java数组(Array)
  10. 基于优化的多核局部费舍尔判别分析的故障分类