抽象一个linux 下面 工具库
抽象一个linux 下面 工具库
开源软件看多了,难免有一些想法,一直在抽象一个工具链,C语言开发速度慢也应该跟代码重用度低有关,但每个软件都要应该有一系列的
辅助工具。
下面把我抽象出的 内容整理一下:
log 功能:支持log 级别, 可记录到syslog, file,console。
控制台功功能:可以远程登录系统,设置log级别,随时查看系统运行情况,调试问题。
文件解析:支持解析配置文件,文件内以目录分级【】,可带注释。
通用链表:C语言结构内自引用时可以用通用链表代替,链表按带锁,不带锁,带读写锁。
时间函数:对常用时间函数封装
字符串处理包装:由于历史原因,C语言很多字符串处理函数不是很好用,包括线程安全,NULL指针问题, 同时提供一些字符串解析函数。
数据库引擎抽象:抽象数据库操作接口,可以注册常用数据库engine,用数据库提供的client 库 实现具体操作,文件解析即是此引擎的一个实现。
线程封装:对pthread lib 库封装,包括 锁,读写锁,条件变量,属性的封装,通过pthread lib库提供的线程私有数据 实现线程安全封装。
socket 封装:socket 系统调用封装,异步机制封装 poll, select epoll,kqueue, libevent 是个好例子.
哈希表实现:实现容器,大对象存取及查找。
简单数据库:实现一个数据库,只实现简单功能,关系型数据库,实现数据永久存取,family/key ,可借鉴sqlite.
内存池:高性能系统中内存的分配及回收应该都摒弃malloc, free 即用即分配策略,内存池是必经之路。
通用task 实现:实现task queue 接口,线程处理task queue.
在 googlecode上建立了此项目,代码托管在此处,目前只实现了一部分功能。
http://code.google.com/p/spider-tool/
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~