這些 C語言開源項目 YYDS!!!
收集整理了一些不錯的 C 語言開源項目,給大家伙分享一下!
SQLite
SQLite 是一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的 C 庫中。它的設(shè)計目標是嵌入式的,而且已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低。
SQLite 是在 2000 年發(fā)布的,到目前為止已經(jīng)有 21 年了。
像大家現(xiàn)在使用的微信,它本地就是通過 SQLite 來存儲的數(shù)據(jù)。
注意:微信本身的服務(wù)器就不能使用 SQLite,畢竟,并發(fā)量太大,SQLite 沒辦法滿足。
項目地址:https://sqlite.org/src/doc/trunk/README.md
相關(guān)閱讀:如何學(xué)習(xí) sqlite 源碼?(https://www.zhihu.com/question/22819578)
althttpd
可以看出來開源工作是最近才開始的,但是實際上 althttpd 從 2004 年開始就在支撐 ?https://sqlite.org/ 網(wǎng)站的運行,althttpd 的設(shè)計目標就是為了簡單、安全同時低資源消耗。
在 2018 年,http://sqlite.org ?每天要響應(yīng) 50 萬的 HTTP 請求,而只用了價值 40 美金的服務(wù)器,而且服務(wù)器處于很低的負載(0.1 或者 0.2),可以看出其性能還是不錯的。
我們來看下 althttpd 的代碼,項目實際只有一個 c 文件,整體行數(shù)也不多,是一個非常不錯的學(xué)習(xí)項目。
而且項目中有一個介紹文件 althttpd.md,詳細介紹了 althttpd 的設(shè)計哲學(xué)、項目使用說明等。
更多項目詳情請查看如下鏈接。
項目地址:https://sqlite.org/althttpd/doc/trunk/althttpd.md。
rt-thread
RT-Thread 是一個來自中國的開源物聯(lián)網(wǎng)操作系統(tǒng),它提供了非常強的可伸縮能力:從一個可以運行在 ARM Cortex-M0 芯片上的極小內(nèi)核,到中等的 ARM Cortex-M3/4/7 系統(tǒng),甚至是運行于 MIPS32、ARM Cortex-A 系列處理器上功能豐富系統(tǒng)
項目地址:RT-Thread/rt-thread
Tinyhttpd
Tiny-httpd 是一個超輕量型 Http Server,使用 C 語言開發(fā),全部代碼只有 502 行 (包括注釋),附帶一個簡單的 Client,可以通過閱讀這段代碼理解一個 Http Server 的本質(zhì)。
項目地址:https://github.com/LippiOuYang/Tinyhttpd
cJSON
cJ-SON 是一個 JSON 編解碼器,非常輕量級,C 文件只有 500 多行,速度也非常理想。cJ-SON 也存在幾個弱點,雖然功能不是非常強大,但 cJ-SON 的小身板和速度是最值得贊賞的。其代碼被非常好地維護著,結(jié)構(gòu)也簡單易懂,可以作為一個非常好的 C 語言項目進行學(xué)習(xí)。
項目地址:https://github.com/DaveGamble/cJSON
FastDFS
FastDFS 是一款輕量級的開源分布式文件系統(tǒng),功能包括:文件存儲、文件同步、文件上傳、文件下載等,解決了文件大容量存儲和高性能訪問問題。特別適合以文件為載體的在線服務(wù),如圖片、視頻、文檔服務(wù)等等。
項目地址:https://gitee.com/fastdfs100/fastdfs
CMockery
cmock-ery 是 google 發(fā)布的用于 C 單元測試的一個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試代碼侵入性小。cmock-ery 的源代碼行數(shù)不到 3K,你閱讀一下 will_re-turn 和 mock 的源代碼就一目了然了。
項目地址:https://code.google.com/p/cmockery/downloads/list
Webbench
Webbench 是 Radim Kolar 在 1997 年寫的一個在 linux 下使用的非常簡單的網(wǎng)站壓測工具。它使用 fork()模擬多個客戶端同時訪問我們設(shè)定的 URL,測試網(wǎng)站在壓力下工作的性能,最多可以模擬 3 萬個并發(fā)連接去測試網(wǎng)站的負載能力。官網(wǎng)地址:http://home.tiscali.cz/~cz210552/webbench.html
項目地址:https://github.com/EZLippi/WebBench
Redis
Re-dis 是一個使用 C 語言寫成的,開源的 key-value 數(shù)據(jù)庫。Re-dis 支持的操作和數(shù)據(jù)類型比 Mem-cached 要多,現(xiàn)在主要用于緩存,支持主從同步機制.
項目地址:https://redis.io/
HP-Socket
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服務(wù)端組件、客戶端組件和 Agent 組件,廣泛適用于各種不同應(yīng)用場景的 TCP/UDP/HTTP 通信系統(tǒng),提供 C/C++、C#、Del-phi、E(易語言)、Java、Python 等編程語言接口。HP-Socket 對通信層實現(xiàn)完全封裝,應(yīng)用程序不必關(guān)注通信層的任何細節(jié);HP-Socket 提供基于事件通知模型的 API 接口,能非常簡單高效地整合到新舊應(yīng)用程序中。
項目地址:https://www.oschina.net/p/hp-socket
starrtc-server
免費 IM 系統(tǒng),IM 即時通信消息系統(tǒng)(含一對一文字聊天,群聊,聊天室),免費一對一 voip 實時通話,錄屏,webrtc 服務(wù)端,免費直播連麥,互動直播,視頻直播,RTSP 拉流,RTMP 推流,語音對講,免費在線會議,視頻會議等服務(wù)端程序,支持物聯(lián)網(wǎng)平臺,萬水千山總是情,來個 star 行不行
項目地址:https://gitee.com/starRTC/starrtc-server
Ekho
Ekho(余音)是一個把文字轉(zhuǎn)換成聲音的軟件。它目前支持粵語、普通話(國語)、詔安客語、藏語、雅言(中國古代通用語)和韓語(試驗中),英文則通過 Fes-ti-val 間接實現(xiàn)。支持 Linux、Win-dows、An-droid.
項目地址:https://github.com/hgneng/ekho
Seafile
Seafile 是一款安全、高性能的開源網(wǎng)盤(云存儲)軟件。Seafile 提供了主流網(wǎng)盤(云盤)產(chǎn)品所具有的功能,包括文件同步、文件共享等。在此基礎(chǔ)上,Seafile 還提供了高級的安全保護功能以及群組協(xié)作功能。由于 Seafile 是開源的,你可以把它部署在私有云的環(huán)境中,作為私有的企業(yè)網(wǎng)盤。Seafile 支持 Mac、Linux、Win-dows 三個桌面平臺,支持 An-droid 和 iOS 兩個移動平臺。
項目地址:https://github.com/haiwen/seafile
ngx-fastdfs
分布式圖片實時動態(tài)壓縮.ngx-fastdfs 是 ng-inx + lua +fastdfs 實現(xiàn)分布式圖片實時動態(tài)壓縮。
項目地址:https://gitee.com/qieangel2013/ngx-fastdfs
參考:https://www.geek0ne.com/C-Cpp/Projects.html
C 語言 嵌入式
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。