CommonLib使用说明文档

上传人:ji****72 文档编号:37523223 上传时间:2018-04-17 格式:DOC 页数:30 大小:211.50KB
返回 下载 相关 举报
CommonLib使用说明文档_第1页
第1页 / 共30页
CommonLib使用说明文档_第2页
第2页 / 共30页
CommonLib使用说明文档_第3页
第3页 / 共30页
CommonLib使用说明文档_第4页
第4页 / 共30页
CommonLib使用说明文档_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《CommonLib使用说明文档》由会员分享,可在线阅读,更多相关《CommonLib使用说明文档(30页珍藏版)》请在金锄头文库上搜索。

1、CommonLib1 使用说明文档目 录1 1概述概述 .32 2接口说明接口说明.42.12.1数据结构类数据结构类.4 2.1.1链表.4 2.1.2数组.8 2.1.3队列.11 2.1.4哈希表.13 2.1.5多叉树.18 2.22.2程序组件类程序组件类.21 2.2.1内存池.21 2.2.2线程池.23 2.2.3读写锁.24 2.2.4压缩.25 2.2.5定时器.26 2.32.3网络通讯类网络通讯类.27 2.3.1基本协议通讯.27 2.3.2HTTP协议.29 2.42.4其它其它.31 2.4.1获得版本.311 1概述概述CommonLib 是一套包含数据结构、网

2、络连接、压缩等功能的跨平台通用开发库,用于在软件开发中实现多种固定功能模块,对软件开发项目起到减少开发时间、统一开发风格、合理划分结构和提高软件质量等作用。使用过程中无需关注各模块的基础数据结构如何搭建关联,仅需要通过接口直接使用即可。通用库当前版本支持的平台如表 1 所示,表内为已经过实际测试的,理论上经过编译后应该可以工作在全系列类 unix 系统的衍生系统的应用层,部分接口不能在内核态工作,后续章节中有详细描述。表 1 平台支持信息表OSLinuxWindowsMac OS X VERSIONFc7(u/k) Fc11(u/k) Fc14(u/k) Es4(u/k)Xp sp2(u) X

3、p sp3(u) Vistea (u) 7 (u)Leopard 10.5.x (u)NOTESu:OS user level k:OS kernel level通用库目录及文件说明如下图所示,第一层目录为操作系统目录,区分操作系统平台类型,包括 linux、windows 和 mac,第二层为操作系统的版本目录,区分操作系统的版本,例如 linux 目录下分为 es4、fc7、fc11、fc14 等。linux 操作系统目录的第三层目录用于区分应用层和内核层不同的版本,例如es4 目录下有 kernel 代表内核版本,user 代表应用层版本;windows 目录下分为 xp、vista、7

4、 等。Windows 操作系统目录的第三层目录用于区分 vc6 和vc2008 不同版本,例如 xp 目录下有 vc6 和 vc2008 目录,第四层用于区分调试版本和正式版本,例如 xpvc2008 目录下有 debug 和 release 两个版本实际使用时选择对应的目录下的版本即可。图 1 通用库目录图2 2接口说明接口说明2.12.1 数据结构类数据结构类2.1.12.1.1 链表链表1. 描述:用于存储数据的双向环链表,线程上下文安全。2. 数据:COMMONLIST 结构体对象表示一个链表结构,每次使用前可声明一个COMMONLIST 变量或者给 PCOMMONLIST 类型指针动

5、态分配空间。3.接口:1) int ComInitList(PCOMMONLIST plist,int handle)描述:链表初始化函数,链表使用前必须调用此函数。输入参数:plist 链表结构指针,handle 内存池句柄,使用已分配的内存池时此参数填写内存池句柄,不使用内存池时填写-1。返回值:0 成功,-1 失败。2) int ComFreeList(PCOMMONLIST plist,int (*func)(void* s1,void* s2),void* s2)描述:链表释放函数,链表使用完毕后调用此函数。输入参数:plist 链表结构指针,func 释放链表结构时的用户回调函数,

6、当链表释放时,遍历每个链表节点内容时调用一次,一般用于对用户自定义的数据的释放处理等用户自定义操作,s2 传递给回调函数的用户自定义参数,不需要时可填 NULL。返回值:0 成功,-1 失败。3) void ComLockList(PCOMMONLIST plist,int role)描述:链表加锁函数,用于多线程编程过程中对临界链表资源的保护。同一个此类型锁不支持多次加锁。输入参数:plist 链表结构指针,role 加锁类型 0 读锁 1 写锁。4) void ComUnLockList(PCOMMONLIST plist,int role)描述:链表解锁函数。输入参数:plist 链表结

7、构指针,role 解锁类型 0 读锁 1 写锁。5) int ComGetListLength(PCOMMONLIST plist)描述:获得链表长度。输入参数:plist 链表结构指针。返回值:=0 链表内节点数量。6) int ComGetListNode(PCOMMONLIST plist,int (*func)(void* s1,void* s2),void*s2,void* node,int* listindex)描述:通过用户回调函数获得链表指定节点。输入参数:plist 链表结构指针,func 用户回调函数,链表会根据该回调函数的返回值确认查找是否成功(返回 1 成功,返回 0 失败)。s1 链表遍历当前节点,s2 传递给回调函数的自定义参数,不需要时可填 NULL。输出参数:node 查找到的节点,listindex 查找到链表节点的唯一索引值。返回值:0 成功,-1 失败。备注: listindex 作为标示用于其他接口定位指定的节点,每个链表中的节点拥有唯一的索引不会改变,链表节点删除时索引值会和节点一起被删除。7) int ComGetListNodeByIndex(PCOMMONLIST plist,int listindex,void

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号