C/C++開源程式碼

C++

  • leveldb
Google出品,遵循Google C++編碼規範。
作者是Jeff Dean大神。
涉及查找、緩存、文件讀寫、多線程、跨平臺等諸多常見問題。
最新版本1.15.0代碼量也不到2萬行。
基礎的key-value數據庫,廣泛用於Google內部和許多開源項目。
  • tinyxml
  • Ogre
  • Boost
  • SGI STL
  • muduo
  • chromium
muduo可以看看,知道現代cpp的用法。

C

  • tinyxml

  • Webbench

Webbench是一個在linux下使用的非常簡單的網站壓測工具。
它使用fork()模擬多個客戶端同時訪問我們設定的URL,測試網站在壓力下工作的性能,
最多可以模擬3萬個併發連接去測試網站的負載能力。
Webbench使用C語言編寫, 代碼實在太簡潔,源碼加起來不到600行。
  • Tinyhttpd
tinyhttpd是一個超輕量型Http Server,
使用C語言開發,全部代碼只有502行(包括註釋),附帶一個簡單的Client,
可以通過閱讀這段代碼理解一個 Http Server 的本質。
  • cJSON
cJSON是C語言中的一個JSON編解碼器,非常輕量級,C文件只有500多行,速度也非常理想。
cJSON也存在幾個弱點,雖然功能不是非常強大,但cJSON的小身板和速度是最值得讚賞的。
其代碼被非常好地維護著,結構也簡單易懂,可以作為一個非常好的C語言項目進行學習。
  • Libev
libev是一個開源的事件驅動庫,基於epoll,kqueue等OS提供的基礎設施。其以高效出名,
它可以將IO事件,定時器,和信號統一起來,統一放在事件處理這一套框架下處理。
,效率較高,並且代碼精簡(4.15版本8000多行),是學習事件驅動編程的很好的資源。
  • Memcached
Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。
,從而提供動態數據庫驅動網站的速度。Memcached 基於一個存儲鍵/
hashmap。Memcached-1.4.7的代碼量還是可以接受的,只有10K行左右。
  • SQLite
SQLite是一個開源的嵌入式關係數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。
其特點是高度便攜、使用方便、結構緊湊、高效、可靠。足夠小,大致3萬行C代碼,250K。
  • http://www.llvm.org

  • gaclib

  • libevent

  • nginx

  • redis


书籍推荐