C/C++ 生態系統擁有極其豐富的開源庫與框架,涵蓋網路通訊、圖形渲染、資料庫、機器學習、遊戲開發等各領域。本文精選整理高質量、活躍維護的專案,助力開發者快速選型、避免重複造輪子。專案按功能領域分類,附帶官方連結與特色說明。
| 專案 | 描述 | 代碼規模 | 學習價值 | 官方連結 |
|---|---|---|---|---|
| Webbench | 簡易網站壓測工具,fork() 模擬併發 | <600 行 | 網路程式設計、進程管理 | 官網 |
| Tinyhttpd | 超輕量 HTTP Server | 502 行 | HTTP 協議本質、Socket 程式設計 | SourceForge |
| cJSON | 輕量級 JSON 解析器 | ~500 行 | 資料序列化、解析器設計 | SourceForge |
| CMockery | Google 單元測試框架 | <3K 行 | 測試驅動開發、Mock 機制 | Google Code |
| Libev | 高效能事件驅動庫 (epoll/kqueue) | ~8000 行 | Reactor 模式、非阻塞 I/O | 官網 |
| Memcached | 分散式記憶體快取系統 | ~10K 行 | 分散式系統、哈希表、協議設計 | 官網 |
| Lua | 嵌入式腳本語言 (純 ANSI C) | ~1.5 萬行 | 語言實作、虛擬機設計 | 官網 |
| SQLite | 嵌入式關聯式資料庫 | ~3 萬行 | 資料庫引擎、B+ 樹、事務 | 官網 |
| UNIX V6 | 經典教學用作業系統核心 | ~1 萬行 | 作業系統原理、核心架構 | TUHS |
| NetBSD | 高度可移植類 UNIX 系統 | 大型專案 | 核心架構、跨平台移植 | 官網 |
| 類別 | 推薦工具 |
|---|---|
| 建構系統 | CMake, Meson, Ninja, Bazel |
| 套件管理 | vcpkg, Conan, Hunter, CPM |
| 靜態分析 | Clang-Tidy, Cppcheck, PVS-Studio, SonarQube |
| 除錯/分析 | GDB, LLDB, Valgrind, perf, VTune |
| 單元測試 | GoogleTest, Catch2, doctest, Boost.Test |
| IDE/編輯器 | CLion, VS Code + CMake Tools, Visual Studio, Qt Creator |
| 編譯器 | GCC, Clang, MSVC, Intel ICC |
本清單持續更新中,歡迎開發者補充優質專案。掌握核心庫設計思想,比單純呼叫 API 更能提升架構能力。