cmockery是google發布的用於c單元測試的乙個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試**侵入性小。cmockery的源**行數不到3k,你閱讀一下will_return和mock的源**就一目了然了。
主要特點:
免費且開源,google提供技術支援;
輕量級的框架,使測試更加快速簡單;
避免使用複雜的編譯器特性,對老版本的編譯器來講,相容性好;
並不強制要求待測**必須依賴c99標準,這一特性對許多嵌入式系統的開發很有用
libev是乙個開源的事件驅動庫,基於epoll,kqueue等os提供的基礎設施。其以高效出名,它可以將io事件,定時器,和訊號統一起來,統一放在事件處理這一套框架下處理。基於reactor模式,效率較高,並且**精簡(4.15版本8000多行),是學習事件驅動程式設計的很好的資源。
lua很棒,lua是巴西人發明的,這些都令我不爽,但是還不至於臉紅,最多眼紅。
nginx("engine x") 是乙個高效能的 http 和反向**伺服器,也是乙個 imap/pop3/smtp **伺服器 。nginx 是由 igor sysoev 為俄羅斯訪問量第二的rambler.ru站點開發的,它已經在該站點執行超過四年多了。igor 將源**以類bsd許可證的形式發布。自nginx 發布四年來,nginx 已經因為它的穩定性、豐富的功能集、 示例配置檔案和低系統資源的消耗而聞名了。
unix v6 的核心源**包括裝置驅動程式在內 約有1 萬行,這個數量的源**,初學者是能夠充分理解的。有一種說法是乙個人所能理解的**量上限為1 萬行,unix v6的核心源**從數量上看正好在這個範圍之內。看到這裡,大家是不是也有「如果只有1萬行的話沒準兒我也能學會」的想法呢?
備註:根據 "im鑫爺"的建議,增加了redis和nginx,同時刪除tinyhttp和cjson。
cjson是c語言中的乙個json編解碼器,非常輕量級,c檔案只有500多行,速度也非常理想。
cjson也存在幾個弱點,雖然功能不是非常強大,但cjson的小身闆和速度是最值得讚賞的。其**被非常好地維護著,結構也簡單易懂,可以作為乙個非常好的c語言專案進行學習。專案主頁:
**:
101 原始碼閱讀 十個C開源專案
cmockery是google發布的用於c單元測試的乙個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試 侵入性小。cmockery的源 行數不到3k,你閱讀一下will return和mock的源 就一目了然了。主要特點 lua很棒,lua是巴西人發明的,這些都令我不爽,但是還不至於臉紅,最...
十個最值得閱讀學習的C開源專案代
cmockery是google發布的用於c單元測試的乙個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試 侵入性小。cmockery的源 行數不到3k,你閱讀一下will return和mock的源 就一目了然了。主要特點 免費且開源,google提供技術支援 輕量級的框架,使測試更加快速簡單...
十個值得研究的c開源專案
算是比較輕量級的開源專案,作為學習研究c語言,提公升c語言功底!好處很多很多!cmockery是google發布的用於c單元測試的乙個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試 侵入性小。cmockery的源 行數不到3k,你閱讀一下will return和mock的源 就一目了然了。主...