lisk之初發布

2021-09-06 09:10:42 字數 1483 閱讀 8019

這一年多的時間裡,我寫了乙個由眾多構件組成的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。在下一步考慮支援多程序或者多執行緒,個人傾向於多程序,這個又是近半年的工作量了,如果工作不多而空餘時間多的話。

雖然這一年多的時間裡,為了寫lisk,吾人已心神俱疲。但它還會持續進化中,以後我會刪除一些冗餘**。

**遵循gpl2.0協議,請尊重我的勞動成果。

歡迎加入qq群189546765,請不要對qq群名稱大驚小怪^_^。來者不拒。群共享中也有lisk。

人之初,性本善

古人很偉大,說了一句符合統計學原理的話。如果以95 作為置信度,人剛生下來時,應該是有95 的概率是乙個好人,5 的概率是個壞蛋。如果人之初,性本惡的話,你走在馬路上,遇到100個人,會有95個人過來傷害你,這不是現實,因此人之初,性本善。是乙個好人,不代表好人不做壞事,只是好人做好事的概率大,做壞...

SOA學習之初

根據公司專案的需要,這兩天正在惡補soa概念性的一些知識,發現這東西可真是博大精深啊,涉及各方面的知識,有網路 架構 各種協議 實現方式等。總的來說,收穫還是大大地。至少明白了一些基本的概念,至於是否學會了如何實現soa,這個還真是一定沒有,因此我需要記敘努力。我又看了一本書,書名為是 soa實踐者...

寫在開學之初

今年是個多事之秋。被繁忙的事務所累的時候,總是想到初中的時候,語文老師高興的誇我說很有文采。這樣的感覺很久沒有,好可惜啊。日子一天天過得飛快,再也不像小時候覺得每個分鐘都很長。新的學期開始,只想像男朋友說的那樣,做乙個普通的女孩子,好好的過日子。不再想象太多。暑假打工的事情帶給我的傷痛我希望能夠盡快...