doxygen {#mainpage}

doxygen是干什么的

相信大家在看MCU原厂的帮助文档的时候,都能看到doxygen的logo在右下角,没错,doxygen就是用来生成帮助文档的

doxygen可以根据代码中的注释信息,来生成代码的一个帮助文档

软件安装

doxygen安装

  1. doxygen官网下载

  1. 安装,安装就很简单,一路next就完事了

  2. 安装完发现并没有生成桌面快捷方式,但是可以在windos的start或者安装目录找到,来一波添加桌面快捷方式

HTML Help (CHM) Help Compiler 安装

  1. HHC是用来生成CHM文件的,所以也会用到

    官网下载

下载doxygen中文手册

我从网上找到了这个doxygen的中文手册,给放在我的gitee上了,对于我这个英文不是很好的人来说,这个资料算是格外的珍贵了,也给大家分享一下

doxygen GUI frontend的使用

下面我都是使用这个GUI的程序来进行的

需要注意的地方

Expert->Input

注意,需要吧用到的资源的所有文件夹都包含进去,不然生成CHM可能会缺失

其他的就参见gitee上的工程文件吧

代码添加注释(VSCode korofileheader插件)

"fileheader.customMade":{
"file":"",
"Author": "chenjk",
"Date": "Do not edit",
"LastEditTime": "Do not edit",
"FilePath": "Do not edit",
"Description": "",
},
"fileheader.cursorMode": {
"brief":"",
"param":"",
"return":"",
},
"fileheader.configObj": {
"createHeader": true, //默认打开
"colon":" ",
"annotationStr": {
"head": "/**", // 自定义注释头部
"middle": " * @", // 自定义注释中间部分(注意空格,这也是最终生成注释的一部分)
"end": " */", // 自定义注释尾部
"use": false // 是否使用自定义注释符号
}
}

安装完之后,使用CTRL+ALT+I可以向代码中添加文件头部信息,使用CTRL+ALT+T可以添加函数注释格式信息,但因为我电脑的CTRL+ALT+T快捷键冲突了,我只能改建成CTRL+ALT+U,改键方法如下

注释

doxygen会识别如下如下格式的内容为用户需要doxygen进行抽取的

/**
*
*/

其中第一行的第二个*即提示doxygen此处有需要抽取的注释,否则doxygen并不会进行检查

@或者\符号是命令的提示符

比如命令brief为描述,在其前面添加@doxygen就会识别到这个命令,同理param也需要在前面加上@符号

常见的注释格式为:

建议在其中这个注释可以放在.c文件也可以放在.h文件,建议是如果存在.c文件,那么放在.c中,否则放在.h文件中。

另外如果两个都有,建议.h放简单的描述和输入输出的参数说明,若有更复杂的Note、Waring、details等,放在.c文件中

特殊命令

addtogroup

是将API分门别类的好工具,具体的效果就是会在生成的chm或HTML中增加一个模块页面增加这个组,这个组中会列举组中API的函数、枚举、定义等内容,所以如果需要代码API需要按模块来分类,并且可以配合brief来对模块进行说明,这是个利器

mainpage命令

我们可以使用md文件来制作首页,其方法就是在一级标题后面添加 {#mainpage},并且把这个文件添加到input中去

Note:

​ 1. 但注意这个一定要是在md文件的最开头,并且前面没有东西

doxygen上手的更多相关文章

  1. doxygen的简单使用(快速上手)

    在网上找了很久一个简单的doxygen教程,这个是最简单的,让你看完之后马上就能写doxygen格式的代码 doxygen是一种从源代码生成文档的工具,支持多种语言.当然,源代码中需按一定的格式写注释 ...

  2. Windows下使用doxygen阅读和分析C/C++代码

    Windows下使用doxygen阅读和分析C/C++代码 转自:http://blog.sina.com.cn/s/blog_63d902570100gwk6.html 虽然使用各种IDE或者Sou ...

  3. Doxygen给C程序生成注释文档

    近段时间,一直在学习华为C语言编程规范(2011版),在“注释”这一章中发现了一种“Doxygen”的注释转文档工具,查看诸多相关资料,并进行编程实践,终于可以利用Doxygen给C程序生成注释文档. ...

  4. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  5. Impress.js上手 - 抛开PPT、制作Web 3D幻灯片放映

    前言: 如果你已经厌倦了使用PPT设置路径.设置时间.设置动画方式来制作动画特效.那么Impress.js将是你一个非常好的选择. 用它制作的PPT将更加直观.效果也是嗷嗷美观的. 当然,如果用它来装 ...

  6. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  7. 快速上手Unity原生Json库

    现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...

  8. Masonry介绍与使用实践:快速上手Autolayout

    1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 w ...

  9. 在QtCreator中使用doxygen

    接触Doxygen后,认识到其强大之处,一口气将之前的烂代码重构了一遍,所有的文件头,函数注释等等都是手动添加注释.在keil中可以看到其对JavaDoc风格的注释有高亮,非常好看.但是keil这个I ...

随机推荐

  1. vue跳转的两种方法

    1 标签跳转 <router-link to='two'><button>点我到第二个页面</button></router-link> 2 点击事件跳 ...

  2. 绕WAF文章收集

    在看了bypassword的<在HTTP协议层面绕过WAF>之后,想起了之前做过的一些研究,所以写个简单的短文来补充一下文章里“分块传输”部分没提到的两个技巧. 技巧1 使用注释扰乱分块数 ...

  3. 带"反悔"的贪心-超市

    题面:https://www.acwing.com/problem/content/description/147/ 超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品,过期商品 ...

  4. B - Save the problem! CodeForces - 867B 构造题

    B - Save the problem! CodeForces - 867B 这个题目还是很简单的,很明显是一个构造题,但是早训的时候脑子有点糊涂,想到了用1 2 来构造, 但是去算这个数的时候算错 ...

  5. CSS的基本语法及页面引用

    CSS的基本语法及页面引用 CSS基本语法 CSS的定义方法是: 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个 ...

  6. Spring源码阅读 之 配置的读取,解析

    在上文中我们已经知道了Spring如何从我们给定的位置加载到配置文件,并将文件包装成一个Resource对象.这篇文章我们将要探讨的就是,如何从这个Resouce对象中加载到我们的容器?加载到容器后又 ...

  7. JS理论:编码习惯

    1.声明变量,你只会var吗?那你真的是JS小鲜肉 如果要声明3个变量,你要var 三下吗? 不用: let [a,b,c] = ['name',18,'ddd'] console.log(a,b,c ...

  8. 前端:参数传错了,spring-boot:那错误信息我给你显示的友好点儿

    之前两篇文章 Spring-boot自定义参数校验注解和如何在spring-boot中进行参数校验,我们介绍了,参数校验以及如何自定义参数校验注解,但是当传递参数出错时,只是把错误信息打印到了控制台, ...

  9. sqli-labs之Page-4

    第五十四关 题目给出了数据库名为challenges. 这一关是依旧字符型注入,但是尝试10次后,会强制更换表名等信息.所以尽量在认真思考后进行尝试 爆表名 ?id=-1' union select ...

  10. 通过 docker images 获取 Dockerfile

    通过docker image 获取到 dockerfile docker history --format {{.CreatedBy}} --no-trunc=true $DockerImage |s ...