查看原文
其他

这个神器可以提取你代码中的关键信息生成技术文档(附下载链接)

ZhengNL 嵌入式大杂烩 2021-01-31

点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看编程笔记!

一、前言

以前,我们学C语言的时候,多多少少都查过一些标准库函数吧。这里介绍查找C语言的标准库函数的两种方法:一种方法是直接到http://www.cplusplus.com这个网站上去查看:

这里覆盖了C语言标准库中的所有函数,给出了每个函数的介绍并且都给出了具体的用法示例,比如:

但都是英文的说明。

另一种方法是,找一些离线的文档,网上有不少人整理了一些离线的文档,比如.chm格式(已编译的帮助文件)的文档:

里面的内容大概是这样子的:

也可以很方便的查找每个函数的用法,但是,这里面的不是很全,查找C标准库函数还是建议到http://www.cplusplus.com上面去查找。

本文分享的重点就是.chm文件的制作。最近需要对自己的一些代码做一些整理,发现整理成.chm文件是个不错的选择,.chm文件可以根据我们的代码生成,下面把生成.chm文件的方法分享给大家。

二、制作.chm文件的工具

需要三个工具:doxygen安装包、graphviz安装包、htmlhelp安装包。其中doxygen是一种开源跨平台的文档系统,doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。

doxygen可以生成好几种格式的文档,要生成.chm格式的手册就必须安装htmlhelp,要生成关系图必须安装依graphviz。这个个工具的获取方法:

1、方法一:官网下载

(1)doxygen安装包:

http://www.doxygen.nl/download.html

(2)graphviz安装包:

http://www.graphviz.org/

(3)htmlhelp安装包:

https://www.microsoft.com/en-us/download/details.aspx?id=21138

2、方法二:百度云盘下载

方法一下载得很慢,但是,小编已经把这三个工具下载好了,并存放于百度云中,可在聊天界面回复关键词:chm,进行获取百度云分享链接。

下载的都是.exe格式的可执行文件,就按平时安装软件的方法安装件就可以了。但是,需要记住graphvizhtmlhelp的安装路径,后面使用Doxygen时需要用到。

三、Doxygen根据代码生成.chm的机制

Doxygen可以根据固定格式的代码注释生成相对应的.chm格式的手册。支持的语言有好多种,如C/C++/C#/Objective-C/PHP/Java等。这里主要是分享C语言,Doxygen可以识别的固定格式注释有以下几种:

这里,我使用的是第一种,如:

/**
 * 函数功能:字符串逆序函数
 * @param src_str:字符串
 * @param str_len:字符串长度
 * @return 逆序之后得到的字符串
 */
 
char *Str_ReverseOrder(char *src_str,int str_len)
{
    char *dst_str = src_str;
    char temp;
    printf("Method 1!\n");
    for(int i=0;i<str_len/2;i++)
    {
        temp = src_str[i];                  
        src_str[i] = src_str[str_len-i-1];  
        src_str[str_len-i-1] = temp;        
    }

    return (char*)dst_str;
}

所有的函数都使用这样统一格式的注释,以方便生成.chm文件。

四、Doxygen生成.chm文件的方法

1、设置工程工作目录


我这里的1、4、6路径设置成一样的。


2、设置语言



3、设置输出文件格式



4、设置生成关联表



5、输出的语言、编码



6、设置一些构建的选择项



7、设置输入文件的编码



8、设置是否在.chm中生成源码供预览



9、设置HTML选项



10、设置Dot选项



11、运行生成.chm文件



12、保存工程文件


五、最终成果效果图

下面看一下我们生成的.chm文件:


以上就是关于生成.chm文档的方法,使用起来看似有点复杂,但是多点耐心多练几遍就可以上手了,会用之后就可以给我们的学习、工作带来一种归纳知识的方法。


猜你喜欢:

【socket应用】基于C语言的天气客户端的实现

【socket笔记】TCP、UDP通信总结

【Git笔记】分布式版本控制系统

这么好用的代码阅读器你装了吗?

只需一条命令即可快速生成文件清单

教你写一个定时关机程序》 


我的个人博客:

https://zhengnianli.github.io


查看往期笔记:

聊天界面输入m获取往期笔记目录


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存