抽象一个linux 下面 工具库

网友投稿 707 2022-08-25

抽象一个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小时内删除侵权内容。

上一篇:2015年你需要学习的15种编程语言
下一篇:使用Docker限制进程占用的资源
相关文章

 发表评论

暂时没有评论,来抢沙发吧~