lisk之初发布

这一年多的时间里,我写了一个由众多构件组成的lisk。 

lisk分别由以下构件:

定时器            lisk_clock

词典                lisk_dict   key-value(string-string类型,可读取配置文件)
hashtable      lisk_hashtable  

list                    lisk_list

log                  lisk_log

map               lisk_map

 多级hash     lisk_mul_hash

网络库           lisk_network

string            lisk_string

vector           lisk_vector


目录结构是 lisk---./mk.sh

                           ---mak

                           ---inc

                           ---src

                           ---exam


基于linux,lisk全部用C语言实现,没用用到一句我讨厌的C++(虽然以前也使用了近四年多)。

本人编程环境是opensuse12.3,uname -a结果是 Linux linux-xv96 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux。 

另外本人使用了工具ccache。编译代码是请保证安装了ccache。

测试过成中借助valgrind基本上排除了所有的内存泄露。

编译过程很简单,先执行chmod u+x  ./mk.sh以保证mk.sh可执行,然后执行脚本./mk.sh即可。

mak目录放置了makefile的配置项,inc目录放置了lisk所有的头文件,src目录放置了所有的源文件,exam放置了所有的示例代码。

可以修改文件lisk/exam/makefile第24行以编译不同的示例程序。


基本上可以保证每个字母和每行代码都是个人实现,例外就是其中有一个lisk_rand,被本人用来测试,就是这个我也有修改。

其中有些代码你可能从网上没见过的,建议可以看看log、多级hash、hashtable和network,以及用hashtable实现的词典。

网络库lisk_network采用了event driven形式,还是单进程的,而且只实现了server(支持TCP和UDP)。


下一步主要是修改可能的bug并在network中添加client。在下一步考虑支持多进程或者多线程,个人倾向于多进程,这个又是近半年的工作量了,如果工作不多而空余时间多的话。


如果有人愿意阅读代码,我会逐渐写一些blog分别详细地介绍相关的构件。


虽然这一年多的时间里,为了写lisk,吾人已心神俱疲。但它还会持续进化中,以后我会删除一些冗余代码。


代码遵循GPL2.0协议,请尊重我的劳动成果。

我现在不会用github,暂时先存放到百度云盘中。

顺便吐槽下csdn。csdn的资源老是出问题,我把lisk上传到了它上面,但是现在也没给我显示出来下载链接,这个简直就是个无底洞,我以前上传的很多也显示不出来。还有它的blog,我用了四年多,到现在不知道怎么排版,无语。 

今天早上这个链接显示出来了,删除原有百度链接。资源零分下载。

csdn下载链接:http://download.csdn.net/detail/menggucaoyuan/5289107 。

欢迎加入qq群189546765,请不要对qq群名称大惊小怪^_^。来者不拒。群共享中也有lisk。





 

posted @ 2013-04-23 11:38  坚固66  阅读(125)  评论(0编辑  收藏  举报