官网下载二进制或者直接用yum或apt工具下载。
项目注释块用于对项目进行描述,每个项目只出现一次,一般可以放在main.c主函数文件头部。对于其它类型的项目,置于定义项目入口函数的文件中。对于无入口函数的项目,比如静态库项目,置于较关键且不会被外部项目引用的文件中。 项目注释块以“/** @mainpage”开头,以“*/”结束。包含项目描述、及功能描述、用法描述、注意事项4个描述章节。 项目描述章节描述项目名称、作者、代码库目录、项目详细描述4项内容,建议采用HTML的表格语法进行对齐描述。 功能描述章节列举该项目的主要功能。 用法描述章节列举该项目的主要使用方法,主要针对动态库、静态库等会被其它项目使用的项目。对于其它类型的项目,该章节可省略。 注意事项章节描述该项目的注意事项、依赖项目等相关信息
/**@mainpage
* @section 项目详细描述
*
* @section 功能描述
*
* @section 用法描述
*
**********************************************************************************
*/
项目注释也可以使用markdown文件作为主页,通过指定md文件路径来配置。
USE_MDFILE_AS_MAINPAGE = doc/readme.md
若markdown文件里包含图片,可能会出现图片无法显示的情况,这个时候需先检查图片路径是否正确,同时还需要在doxyfile中添加图片路径方可显示。
IMAGE_PATH = ./doc/images
/**
* @file 文件名
* @brief 简介
* @details 细节
* @mainpage 工程概览
* @author 作者
* @version 版本号
* @date 年-月-日
*/
/// 缓存大小
#define BUFSIZ 1024*4
#define BUFSIZ 1024*4 ///< 缓存大小
/**
* @brief 函数简介
*
* @param 形参 参数说明
* @param 形参 参数说明
* @return 返回值说明
*/
nginx的作用不在此赘述,下面主要记录部分简单地使用场景。以下基于“ubuntu 18.04 server”版本验证。
适用场景:
非适用场景:
安装软件:需要使用apache2-utils中的htpasswd
sudo apt-get install nginx
sudo apt install apache2-utils
查看服务状态: +号说明服务处于up状态
service --status-all
......
[ + ] nginx
......
修改配置:具体如何修改见后面章节
sudo vi /etc/nginx/sites-enabled/default
重启nginx服务:修改配置后,需要重启nginx
service nginx restart
使用要求:
设计要求:
外部URL | NAT处理 | 内部URL |
http://$wanip:9999/source/ | http://$nginxip:8081/source/ | 鉴权成功 --> 打开http://$hostip:666/xxx |
http://$wanip:9999/git/xxx | http://$nginxip:8081/git/xxx | 鉴权成功 --> 打开http://$hostip:777/git/xxx |
nginx配置: /etc/nginx/sites-enabled/default 文件内容
server {
listen 8081;
server_name localhost;
location ^~ /source/ {
auth_basic "source";
auth_basic_user_file /home/wsk/htpasswd.conf;
proxy_pass http://127.0.0.1:666/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
location ^~ /git/ {
auth_basic "git";
auth_basic_user_file /home/wsk/htpasswd.conf;
proxy_pass http://127.0.0.1:777;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}
注意:
1.因为条件有限,上面的配置,并不包含NAT的过程。如果服务处于NAT后,上面的配置需要做如下变更:其中9999对应的是外部的端口
proxy_set_header Host $host:9999;
2.location ^~中的^~为匹配前缀路径,详见参考
增加账号:
touch htpasswd.conf (首次执行必选)
htpasswd -b htpasswd.conf $usrname $passwd
创建source对应的服务:
创建git对应的服务:
访问source: 第一次访问的时候,会先进行鉴权,当鉴权成功后才能继续访问重定向的网站
访问git服务: 如果第一次访问source已经输入过密码了,这次访问git就不需要再次输入。
为了更好的阅读体验,建议访问个人首发地址: nginx应用 反向代理,统一鉴权,目录重定向 - whilewell - 博客园
以前,我们学C语言的时候,多多少少都查过一些标准库函数吧。这里介绍查找C语言的标准库函数的两种方法:一种方法是直接到http://www.cplusplus.com这个网站上去查看:
这里覆盖了C语言标准库中的所有函数,给出了每个函数的介绍并且都给出了具体的用法示例,比如:
只不过都是英文的说明,可见英文的重要性。
另一种方法是,找一些离线的文档,网上有不少人整理了一些离线的文档,比如.chm格式(已编译的帮助文件)的文档:
里面大概是这样子的:
也可以很方便的查找每个函数的用法,但是,这里面的不是很全,所以查找C标准库函数还是建议到http://www.cplusplus.com上面去查找。
本文分享的重点就是.chm文件的制作。最近需要对自己的一些代码做一些整理,发现整理成.chm文件是个不错的选择,.chm文件可以根据我们的代码生成,下面把生成.chm文件的方法分享给大家。
需要三个工具:doxygen安装包、graphviz安装包、htmlhelp安装包。其中doxygen是一种开源跨平台的文档系统,doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。
doxygen可以生成好几种格式的文档,要生成.chm格式的手册就必须安装htmlhelp,要生成关系图必须安装依graphviz。这个个工具的获取方法:
(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
链接:https://pan.baidu.com/s/1gsJxkGsoO0ncy0GGM6PyQw 提取码:3754
若链接失效可联系我。
下载的都是.exe格式的可执行文件,就按平时安装软件的方法安装件就可以了。但是,需要记住graphviz与htmlhelp的安装路径,后面使用Doxygen时需要用到。
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文件:
以上就是本次的分享,感谢阅读!
*请认真填写需求信息,我们会在24小时内与您取得联系。