抽象一個linux 下面 工具庫

來源:互聯網
上載者:User

開源軟體看多了,難免有一些想法,一直在抽象一個工具鏈,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/

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.