Skip to content

Select language

目前語言: 繁體中文

C++

Source: https://github.com/fffaraz/awesome-cpp at e724f64ef0c1
License: MIT
Read the English original

This edition is an AI-assisted translation.

精選的 C++(或 C)框架、函式庫、資源及其他精彩內容清單,靈感來自 awesome-… 等專案。

C++ 標準函式庫——包括 STL 容器、STL 演算法、STL 函式物件等。

C++ 通用框架與函式庫。

  • abseil-cpp - Abseil C++ 通用函式庫。[Apache2]
  • Apache C++ Standard Library - STDCXX,一組演算法、容器、迭代器及其他基礎元件。[retired] [Apache2]
  • APR - Apache 可攜式執行階段,提供一組跨平台實用函式庫。[Apache2]
  • ASL - Adobe 原始碼函式庫,提供經過同儕審查且可攜式的 C++ 原始碼函式庫。[MIT]
  • AUI - 適用於 C++20 的宣告式 UI 工具包。[MPL2]
  • Boost :zap: - 大量通用 C++ 函式庫的集合。[Boost] website
  • BDE - Bloomberg Labs 的 BDE 開發環境。[Apache2]
  • C++ Workflow :zap: - C++ 平行計算與非同步網路引擎。[Apache2]
  • CGraph - 基於 C++ 的跨平台 DAG 框架,不依賴任何第三方函式庫。[MIT]
  • Cinder - 由社群開發的免費開源函式庫,適用於專業品質的創意程式設計。[BSD]
  • Coost - 輕量、無相依性的 C++ 函式庫,提供 Go 風格協程、日誌、設定及其他實用工具。[MIT]
  • Cxxomfort - 小巧的僅含標頭檔函式庫,可將較新 C++ 標準中的多種功能回移至 C++03 及更新版本。[MIT]
  • Dlib :zap: - 用於建構實際機器學習與資料分析 C++ 應用程式的工具組。[Boost] website
  • EASTL - Electronic Arts 標準模板庫。[BSD]
  • ETL - 嵌入式模板庫。[MIT]
  • ffead-cpp - 企業應用開發框架。[Apache2]
  • Folly - Facebook 開發並使用的開源 C++ 庫。[Apache2]
  • FunctionalPlus - C++ 函數式程式設計函式庫,讓您能撰寫簡潔易讀的 C++ 程式碼。[MIT]
  • GLib - 為以 C 編寫的函式庫與應用程式提供核心建置元件。[LGPL]
  • itlib - 一組類似 std 的單標頭檔案 C++ 庫。[MIT]
  • JUCE - 功能全面的 C++ 類庫,用於開發跨平臺軟體。[Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] website
  • Kigs framework - 免費開源的 C++ 模組化、多用途、跨平臺 RAD 框架。[MIT] website
  • libPhenom - 用於建構高效能且易於擴充的 C 系統事件處理框架。[Apache2]
  • LibSourcey - 用於即時影片串流與高效能網路應用程式的 C++11 事件驅動 I/O。[LGPL]
  • LibU - 使用 C 編寫的多平臺實用庫。[BSD]
  • libxutils - 簡單而強大的跨平臺 C 庫,提供資料結構、演算法等功能。[MIT]
  • Loki - 一個設計類 C++ 庫,靈活實現常見設計模式和慣用法。[MIT]
  • micron.cpp - 純 C++ 實現(並重新設計)的 libc 和標準庫。[Boost/MIT]
  • MiLi - 極簡的僅標頭檔案 C++ 庫。[Boost]
  • OpenFrameworks - 用於 C++ 創意程式設計的跨平臺開源工具包。[MIT] website
  • PhotonLibOS - 全面的 C++ 框架,具備高效使用者態執行緒(工作竊取協程)、I/O、網路、RPC、HTTP 等功能,並在阿里巴巴廣泛使用。相容 C++ 14/17/20/23、Linux、MacOS、x86-64、ARM64、gcc 和 clang。[Apache2] website
  • Qt :zap: - 跨平臺應用和 UI 框架。[GPL/LGPL/Proprietary] website
  • Reason - 跨平臺框架,旨在讓需要 C++ 效能和能力的開發者也能享受 Java、.Net 或 Python 的易用性。[GPL2]
  • ROOT - 一組物件導向框架,提供高效處理和分析大量資料所需的全部功能。由 CERN 使用。[LGPL]
  • rpp - 受 Rust 啟發的極簡 C++20 STL 替代品。[MIT]
  • SaneCppLibraries - 一組面向 macOS、Windows 和 Linux 的 C++ 平臺抽象庫。[MIT] website
  • Seastar - 面向現代硬體高效能伺服器應用的先進開源 C++ 框架。[Apache-2.0 License] seastar.io
  • sfl library - 僅標頭檔案的 C++11 庫,提供若干新穎或鮮為人知的容器,其中一些可用於 C++20 常量表示式。[zlib]
  • Siv3D - 面向創意程式設計的 C++20 框架(2D/3D 遊戲、媒體藝術、視覺化工具和模擬器)。[MIT] website
  • STLport - STL 的典範實現。[Free]
  • STXXL - 面向超大型資料集的標準模板庫。[Boost]
  • tbox - 類似 glib 的多平臺 C 庫。[Apache2] website
  • Ultimate++ - C++ 跨平臺快速應用開發框架。[BSD]
  • Windows Template Library - 用於開發 Windows 應用和 UI 元件的 C++ 庫。[Public]
  • WUI - WUI(視窗使用者介面庫)是一個用於使用 C++17+ 建立圖形使用者介面的跨平臺庫。[Boost]website
  • xtd - 現代 C++20 框架,可在 Windows、macOS、Linux、iOS、Android、FreeBSD 和 Haiku 上建立控制檯(CLI)、窗體(GUI)及單元測試(xUnit)應用。[MIT]
  • Yomm2 - 快速、正交、開放的多方法實現。取代了 Yomm11。[Boost]
  • YUP! - 針對實時音訊和 GPU 原生創意軟體最佳化的現代框架。[ISC]
  • ANNetGPGPU - 基於 GPU(CUDA)的人工神經網路庫。[LGPL]
  • btsk - 遊戲行為樹入門套件。[zlib]
  • cpp-mcp - 輕量級 C++ MCP(模型上下文協議)SDK。[MIT]
  • Evolving Objects - 基於模板的 ANSI-C++ 演化計算庫,可幫助你極快地編寫自己的隨機最佳化演算法。[LGPL]
  • fastmcpp - fastmcp Python 庫的 C++ 移植版。[Apache2]
  • frugally-deep - 用於在 C++ 中使用 Keras 模型的僅標頭檔案庫。[MIT]
  • Genann - 簡單的 C 神經網路庫。[zlib]
  • MXNet - 輕量、可移植、靈活的分散式/移動端深度學習框架,具備動態、可變更感知的資料流依賴排程器;支援 Python、R、Julia、Scala、Go、JavaScript 等。website
  • PyTorch - Python 張量和動態神經網路,並提供強大的 GPU 加速。website
  • flashlight - 完全使用 C++ 編寫的快速、靈活機器學習庫。[BSD]
  • Recast/Detour - (3D)導航網格生成器和尋路器,主要用於遊戲。[zlib]
  • TensorFlow - 用於藉助資料流圖進行數值計算的開源軟體庫。[Apache]
  • Txeo - TensorFlow 的現代 C++ 封裝。[Apache]
  • oneDNN - 面向深度學習應用的開源跨平臺效能庫。[Apache] website
  • CNTK - Microsoft Cognitive Toolkit(CNTK),開源深度學習工具包。[Boost]
  • tiny-dnn - 採用 C++11、僅標頭檔案且無依賴的深度學習框架。[BSD]
  • Veles - 用於快速開發深度學習應用的分散式平臺。[Apache]
  • Kaldi - 語音識別工具包。[Apache]
  • Asio - 跨平臺 C++ 網路和底層 I/O 程式設計庫,採用現代 C++ 方法,為開發者提供一致的非同步模型。[Boost] website
  • Boost.Asio - 跨平臺 C++ 網路和底層 I/O 程式設計庫。[Boost] website
  • C++ Actor Framework - Actor 模型的開源 C++ 實現。[BSD-3-Clause] website
  • Ichor - 專注於執行緒安全並提供依賴注入的事件佇列。[MIT]
  • libev - 功能全面、高效能的事件迴圈,鬆散地仿照 libevent,但沒有其限制和缺陷。[BSD and GPL]
  • libevent - 事件通知庫。[BSD]
  • libhv - 跨平臺事件迴圈庫。[BSD]
  • libuv - 跨平臺非同步 I/O。[BSD]
  • promise-cpp - 實現 Promise/A+ 標準的僅標頭檔案庫。[Anti-996]
  • uvw - libuv 的 C++ 封裝。[MIT]
  • uv-cpp - 基於 C++11 的簡易介面、高效能網路庫。[MIT]

音訊、聲音、音樂和數字化語音庫

  • Amplitude Audio SDK - 面向遊戲需求設計的跨平臺音訊引擎。[Apache-2.0] website
  • Aubio - 音訊與音樂分析庫。[GPL-3.0] website
  • AudioFile - 用於讀取和寫入音訊檔案的簡單 C++ 庫。[MIT]
  • audioFlux - 用於音訊和音樂分析及特徵提取的 C 庫。[MIT]
  • dr_libs - 面向 C 和 C++ 的單檔案音訊解碼庫。[Unlicense]
  • FMOD - 易於使用的跨平臺音訊引擎和遊戲音訊內容創作工具。[Free for non-commercial/Commercial]
  • KFR - 快速、現代的 C++ DSP 框架,提供 FFT、FIR/IIR 濾波器和取樣率轉換。[GPL/Proprietary]
  • LAME - 高品質 MPEG Audio Layer III(MP3)編碼器。[LGPL]
  • libsndfile - 帶有 C++ 封裝的 C 庫,可透過統一的標準庫介面讀寫包含取樣聲音的檔案。[LGPL-2.1] website
  • libsoundio - 用於跨平臺實時音訊輸入和輸出的 C 庫。[MIT] website
  • Maximilian - C++ 音訊與音樂 DSP 庫。[MIT]
  • OpenAL - Open Audio Library,跨平臺音訊 API。[BSD/LGPL/Proprietary]
  • miniaudio - 單檔案音訊播放與採集庫。[Unlicense] website
  • ni-media - 用於讀取和寫入音訊檔案的 C++ 庫。[MIT]
  • Opus - 完全開放、免版稅且用途廣泛的音訊編解碼器。[BSD]
  • PortAudio - 免費、跨平臺、開源的音訊 I/O 庫。[MIT]
  • rnnoise - 用於音訊降噪的迴圈神經網路。[BSD-3-Clause]
  • SELA - 簡易無損音訊。[MIT]
  • SoLoud - 簡單易用、可移植的遊戲音訊引擎。[zlib]
  • Speex - 免費語音編解碼器,現已被 Opus 取代。[BSD]
  • Tonic - 簡單高效的 C++ 音訊合成庫。[Unlicense]
  • Vorbis - Ogg Vorbis 是完全開放、非專有、無專利且免版稅的通用壓縮音訊格式。[BSD]
  • minimp3 - 公有領域、僅標頭檔案的 MP3 解碼器,採用潔淨室實現。[CC0]
  • Verovio - 快速、輕量的樂譜雕版庫。[LGPL] website
  • Wav2Letter++ - 公有領域的快速開源語音處理工具包,完全使用 C++ 編寫,並利用 ArrayFire 張量庫和 flashlight 機器學習庫實現最高效率。[BSD]
  • PocketSphinx - 輕量級語音識別引擎。[BSD-2-Clause] website

生物資訊學、基因組學、生物技術

  • BioC++ - 用於生物資訊學的 C++ 計算庫。[BSD]
  • Chaste - 用於計算模擬生理學和生物學數學模型的開源 C++ 庫。[BSD]
  • libsequence - 用於表示和分析群體遺傳學資料的 C++ 庫。[GPL]
  • SeqAn - 用於序列分析的演算法和資料結構,重點面向生物資料。[BSD/3-clause]
  • Vcflib - 用於解析和處理 VCF 檔案的 C++ 庫。[MIT]
  • Wham - 透過直接對 BAM 檔案應用關聯檢驗來識別基因組中的結構變異(SV)。[MIT]
  • htslib - 用於讀寫高通量測序資料的 C 庫。[MIT/BSD] website
  • jech/dht - C 語言 BitTorrent DHT 庫。[MIT]
  • libtorrent (a.k.a. libtorrent-rasterbar) - 高效且功能完備的 C++ BitTorrent 實現。[BSD]
  • LibTorrent (a.k.a. libtorrent-rakshasa) - BitTorrent 庫。[GPL]
  • libutp - uTorrent 傳輸協議庫。[MIT]

化學、量子化學、固態化學/物理、地球化學、生物化學

  • d-SEAMS - 使用 C++、Lua 和 Nix 的分子動力學軌跡分析引擎。名稱是 Deferred Structural Elucidation Analysis for Molecular Simulations(分子模擬延遲結構解析分析)的縮寫。[GPL] website
  • gromacs - 基於訊息傳遞的並行分子動力學實現。[GPL] website
  • Reaktoro - 使用 C++ 和 Python 對化學反應系統建模的計算框架。[LGPL] website
  • LAMMPS - 專注於材料建模的經典分子動力學程式。其名稱是 Large-scale Atomic/Molecular Massively Parallel Simulator(大規模原子/分子並行模擬器)的縮寫。[GPL] website
  • MADNESS - 科學模擬用多解析度自適應數值環境。[GPL] website
  • MPQC - 大規模並行量子化學程式 MPQC 使用定態薛定諤方程從頭計算原子和分子的性質。[GPL] website
  • Psi - 從頭算計算化學軟體包。[GPL] website

控制檯/終端使用者介面、命令列介面

  • Argh! - 極簡、無煩惱的僅標頭檔案引數處理器。[BSD]
  • argparse - 現代 C++ 引數解析器。[MIT]
  • args - 簡單的僅標頭檔案 C++ 引數解析庫。[MIT]
  • Argy - 現代 C++ 命令列引數解析庫——簡單、直觀、僅標頭檔案且零依賴。[MIT]
  • barkeep - 用於顯示非同步動畫、計數器和進度條的小型 C++ 標頭檔案。[Apache-2.0] website
  • Boost.Program_options - 透過命令列、配置檔案等常見方式獲取程式選項的庫。[Boost] website
  • cli - 用於互動式命令列介面(Cisco 風格)的跨平臺僅標頭檔案 C++14 庫。[Boost]
  • CLI11 - 用於簡單及高階 CLI 解析的僅標頭檔案單檔案或多檔案 C++11 庫。[BSD]
  • clipp - 包含在單個標頭檔案中的 C++11/14/17 命令列引數處理庫,易用、強大且表達力豐富。[MIT]
  • cpp-terminal - 用於編寫多平臺終端應用的小型僅標頭檔案 C++ 庫。[MIT]
  • Crossline - 小巧、自包含、零配置、採用 MIT 許可的跨平臺 readline 和 libedit 替代品。[MIT]
  • Ctrl+C - 用於在自定義函式中處理 Ctrl+C 事件的跨平臺 C++11 庫。[MIT]
  • cxxopts - 輕量級 C++ 命令列選項解析器。[MIT]
  • docopt.cpp - 根據文件字串生成選項解析器的庫。[MIT/Boost]
  • FINAL CUT - 用於建立帶文字控制元件的終端應用的庫。[LGPL]
  • FTXUI - C++ 函式式終端使用者介面。[MIT]
  • gflags - C++ 命令列標誌模組。[BSD]
  • imtui - 即時模式文字使用者介面。[MIT]
  • indicators - 現代 C++ 活動指示器。[MIT]
  • linenoise - 小巧、自包含的 readline 和 libedit 替代品。[BSD-2-Clause]
  • linenoise-ng - 面向 Linux、Windows 和 MacOS 的小型可移植 GNU readline 替代品,支援處理 UTF-8 字元。[BSD]
  • Lyra - 易用、可組合的 C++11 及更高版本命令列解析器。[Boost]
  • Ncurses - 終端使用者介面。[MIT]
  • FINAL CUT - 終端使用者介面,是 Ncurses 的現代替代品。[LGPLv3+]
  • oof - 便捷、高效能地控制控制檯輸出的 RGB 顏色和位置。[MIT]
  • PDCurses - 公有領域 curses 庫,提供原始碼和預編譯庫。[PublicDomain]
  • popl - 面向 C++11 及更高版本、用於命令列引數和 ini 檔案解析的單標頭檔案模板庫。[MIT]
  • replxx - readline 和 libedit 的替代品,支援 UTF-8、語法高亮和提示,可在 Unix 與 Windows 上執行。[BSD]
  • tabulate - 現代 C++ 表格生成器。[MIT]
  • TCLAP - 成熟、穩定且功能豐富的庫,用於在 ANSI C++ 中定義和訪問命令列引數。[MIT]
  • termbox - 用於編寫文字使用者介面的 C 庫。[MIT]
  • TermOx - C++17 終端使用者介面(TUI)庫。[MIT]
  • tuibox - 單標頭檔案終端 UI(TUI)庫,可在命令列中建立由滑鼠驅動的互動式應用。[MIT]
  • Ginseng - C++ 命令列引數解析器。[MIT]

壓縮和歸檔庫

  • bit7z - 提供簡潔介面以呼叫 7-zip 共享庫的 C++ 靜態庫。[MPL2]
  • Brotli - Brotli 壓縮格式,由 Google 開發。[MIT]
  • bzip2 - 免費、無專利的高品質資料壓縮器。[BSD]
  • bzip3 - 更出色、更強大的 BZip2 精神繼承者。[LGPL]
  • FastLZ - 小巧、可移植的位元組對齊 LZ77 壓縮。[MIT]
  • FiniteStateEntropy - 新一代熵編碼器:Finite State Entropy 和 Huff0。
  • FSST - 高效的隨機訪問字串壓縮。[MIT]
  • heatshrink - 面向嵌入式/實時系統的資料壓縮庫。[ISC]
  • Kanzi - 使用 C++ 實現的現代化、模組化、可移植且高效的無損資料壓縮器。[Apache-2.0]
  • KArchive - 用於建立、讀取、寫入和處理 zip、tar 等檔案歸檔的庫。它還透過 QIODevice 子類使用 gzip 等格式透明地壓縮和解壓資料。[LGPL]
  • libarchive - 多格式歸檔與壓縮庫。[New BSD] website
  • LZ4 - 極快的壓縮演算法。[BSD] website
  • LZAV - 快速記憶體資料壓縮演算法。[MIT]
  • LZFSE - LZFSE 壓縮庫和命令列工具,由 Apple 開發。
  • LZHAM - 無損資料壓縮庫,壓縮率與 LZMA 相近,但解壓速度快得多。[BSD]
  • LZMA :zap: - 7z 格式的預設通用壓縮方法。[PublicDomain] website
  • LZMAT - 極快的實時無損資料壓縮庫。[GPL]
  • miniz - 單個 C 原始檔實現的 Deflate/Inflate 壓縮庫,提供相容 zlib 的 API、ZIP 歸檔讀寫和 PNG 寫入功能。[MIT]
  • Minizip - 修復了最新錯誤的 Zlib,支援 PKWARE 磁碟跨區、AES 加密和 I/O 緩衝。[zlib]
  • minizip-ng - zlib 發行版中常見 ZIP 處理庫的分支。[zlib]
  • misa77 - 解壓速度驚人且壓縮率良好。[MIT]
  • OpenZL - 新穎的資料壓縮框架。[BSD] website
  • PhysicsFS - 提供對各類歸檔檔案抽象訪問的庫。面向影片遊戲,其設計在一定程度上受到 Quake 3 檔案子系統的啟發。[zlib]
  • Rapidgzip - 面向現代多核機器的 Gzip 解壓和隨機訪問工具。[Apache-2/MIT]
  • smaz - 短字串壓縮庫。[BSD]
  • Snappy - 快速壓縮/解壓縮工具。[BSD]
  • ZLib - 非常緊湊的資料流壓縮庫。[zlib]
  • zlib-ng - 面向“下一代”系統的 zlib,可直接替換,幷包含重要最佳化。[zlib]
  • zstd - Zstandard,快速實時壓縮演算法,由 Facebook 開發。[BSD]
  • ZXC - 高效能非對稱無失真壓縮。[BSD-3-Clause]
  • ZZIPlib - 提供 ZIP 歸檔的讀取訪問。[MPL/LGPL]
  • cmix - 以速度為代價、追求最高壓縮率的無損資料壓縮程式。[GPL-3.0]
  • LZSSE-SIMDe - 可移植的 LZSSE 壓縮 SIMD 實現。[BSD-2-Clause]
  • Zopfli - 壓縮效果極佳但速度較慢的 deflate/zlib 壓縮庫。[Apache-2.0]

併發與多執行緒

  • alpaka - 用於並行核心加速的抽象庫。[LGPLv3+]
  • ArrayFire - 通用 GPU 庫。[BSD]
  • Async++ - 面向 C++11 的輕量級併發框架,受 Microsoft PPL 庫和 N3428 C++ 標準提案啟發。[MIT]
  • atomic_queue - 基於迴圈緩衝區和 std::atomic 的 C++14 多生產者多消費者無鎖佇列。[MIT]
  • Boost.Compute - 用於 OpenCL 的 C++ GPU 計算庫。[Boost] website
  • Bolt - 面向 GPU 最佳化的 C++ 模板庫。[Apache2]
  • BS::thread_pool - 快速、輕量、易用的 C++17 執行緒池庫。[MIT]
  • Channel - 用於線上程間共享資料的執行緒安全容器。[MIT]
  • ck - 併發原語、安全記憶體回收機制和非阻塞資料結構。[BSD]
  • concurrentqueue - 面向 C++11 的快速多生產者、多消費者無鎖併發佇列。[BSD,Boost]
  • Coros - 易用且快速的任務並行庫,使用協程實現。[BSL-1.0]
  • CUB - CUB 為 CUDA 程式設計模型的各個層次提供先進、可複用的軟體元件。[New BSD]
  • cuda-api-wrappers - 輕量的現代 C++ 封裝,用於 CUDA GPU 程式設計執行時 API。[BSD]
  • cupla - 透過 Alpaka 在 OpenMP、Threads、TBB 等後端上執行 CUDA/C++ 的 C++ API。[LGPLv3+]
  • C++React - 面向 C++11 的響應式程式設計庫。[Boost]
  • dispenso - 高效能 C++ 並行程式設計庫,提供執行緒池、並行 for 迴圈、future、任務圖和併發容器。[MIT]
  • FiberTaskingLib - 基於任務的多執行緒庫,支援具有任意依賴關係的任務圖。[Apache]
  • HPX - 通用 C++ 執行時系統,適用於任意規模的並行和分散式應用。[Boost]
  • Intel Games Task Scheduler - 面向遊戲開發者需求設計的任務排程框架。[MIT]
  • Intel Parallel STL - Intel® 面向 C++11 及更高版本的 C++17 STL 實現。[Apache2]
  • Intel TBB - Intel® Threading Building Blocks。[Apache2]
  • junction - C++ 併發資料結構庫。[BSD]
  • Kokkos - 可移植高效能程式設計模型,用於並行執行和記憶體抽象。[BSD]
  • libcds - C++ 併發資料結構庫。[BSD]
  • Libclsph - 基於 OpenCL、由 GPU 加速的 SPH 流體模擬庫。[MIT]
  • libdill - 在 C 中引入結構化併發。[MIT]
  • libdispatch - Apple Inc. 開發的 Grand Central Dispatch(GCD)是一種基於執行緒池模式的任務並行技術。libdispatch 是提供 GCD 服務實現的庫。[Apache-2.0] website
  • libfork - 基於 C++20 協程構建的前沿任務庫,支援無鎖、無等待和延續竊取。[MPL-2.0] website
  • libmill - 在 C 中引入 Go 風格併發。[MIT]
  • marl - 使用 C++11 編寫的混合執行緒/纖程任務排程器。[Apache-2.0]
  • moderngpu - 面向 GPU 通用計算的生產力庫,是為 CUDA 編寫的僅標頭檔案 C++ 庫。其獨特價值在於提供加速原語以解決不規則並行問題。[FreeBSD & Copyright, Sean Baxter]
  • NCCL - 針對多 GPU 集合通訊最佳化的原語。[BSD]
  • Neco - C 併發庫(協程)。[MIT]
  • OpenCL - 異構系統並行程式設計的開放標準。
  • OpenMP - OpenMP API。
  • rotor - 適用於事件迴圈的 C++ Actor 微型框架。[MIT]
  • SObjectizer - 在一個相當小巧的 C++ 框架中實現 Actor、釋出-訂閱和 CSP 模型。[BSD-3-Clause]
  • Quantum - 基於 Boost.Coroutine2 構建的強大 C++ 協程分發框架。
  • RaftLib - RaftLib C++ 庫,透過類似 C++ iostream 的運算子實現流式/資料流併發。[Apache2]
  • readerwriterqueue - 快速的 C++ 單生產者、單消費者無鎖佇列。[BSD]
  • stdgpu - GPU 上高效的類 STL 資料結構。[Apache2]
  • Taskflow - 通用並行與異構任務程式設計系統。(原名 Cpp-Taskflow)[MIT]
  • ThreadPool - 簡單的 C++11 執行緒池實現。[zlib]
  • Thrust - 類似 C++ 標準模板庫(STL)的並行演算法庫。[Apache2]
  • TooManyCooks - 高效能 C++20 協程框架,具有高階硬體檢測功能。[BSL-1.0]
  • transwarp - 用於任務併發的僅標頭檔案 C++ 庫。[MIT]
  • VexCL - 面向 OpenCL/CUDA 的 C++ 向量表示式模板庫。[MIT]
  • STAPL - 面向共享記憶體和分散式記憶體平行計算機的 C++ 並行程式設計框架。[BSD]
  • concurrencpp - 通用併發庫,囊括任務、執行器、定時器和 C++20 協程。
  • libcu++ - NVIDIA C++ 標準庫,提供 C++ 標準庫功能的異構實現。[Apache-2.0]
  • nvthreads - 用於在 C/C++ 中啟用高效、持久執行緒的庫。[LGPL-2.1]

配置檔案、INI 檔案

  • inifile-cpp - 易用的僅標頭檔案 C++ Ini 檔案解析器。[MIT]
  • inih - 簡單的 C 語言 .INI 檔案解析器,適用於嵌入式系統。[BSD-3-Clause]
  • inih - inih 的單標頭檔案 C++ 版本。[BSD-3-Clause]
  • ini-cpp - inih 的單標頭檔案 C++ 版本,擴充套件了便捷的讀寫介面。[BSD-3-Clause] website
  • iniparser - INI 檔案解析器。[MIT]
  • inipp - 簡單的僅標頭檔案 C++ ini 解析器和生成器。[MIT]
  • libconfig - 用於處理結構化配置檔案的 C、C++ 庫。[LGPL-2.1] website
  • libconfuse - 小型 C 配置檔案解析庫。[ISC]
  • mINI - INI 檔案讀寫器。[MIT]
  • simpleini - 跨平臺 C++ 庫,提供簡潔 API 以讀寫 INI 風格配置檔案。[MIT]
  • toml++ - 面向 C++17 及更高版本的僅標頭檔案 TOML 解析器和序列化器。[MIT] website
  • toml11 - 僅依賴 C++ 標準庫的 C++11(及更高版本)僅標頭檔案 TOML 解析器/編碼器。[MIT]
  • CRoaring - C(及 C++)中的 Roaring 點陣圖,並經過 SIMD 最佳化。[Apache-2.0]
  • dynamic_bitset - Simple Useful Libraries:C++17/20 僅標頭檔案動態位集。[MIT] website
  • fixed-containers - 提供固定容量 constexpr 容器的 C++20 僅標頭檔案庫。[MIT]
  • flat_hash_map - 使用斐波那契雜湊的超快速扁平雜湊表。
  • frozen - 面向 C++14 使用者、僅標頭檔案且支援 constexpr 的 gperf 替代品。[Apache-2.0]
  • Hashmaps - C++ 開放定址雜湊表演算法實現。[MIT]
  • hat-trie - 快速且節省記憶體的 HAT-trie C++ 實現。[MIT]
  • Hopscotch map - 快速的僅標頭檔案雜湊對映,使用 Hopscotch 雜湊解決衝突。[MIT]
  • librb - C 語言環形(迴圈)緩衝區實現,充分支援執行緒安全併發讀寫,必要時還可自動擴容。[BSD] website
  • LSHBOX - C++ 區域性敏感雜湊(LSH)工具箱,提供多種常見 LSH 演算法,並支援 Python 和 MATLAB。[GPL]
  • marisa-trie - 遞迴實現儲存的匹配演算法。[BSD-2-Clause/LGPL-2.1]
  • parallel-hashmap - 一組僅標頭檔案、速度極快且節省記憶體的雜湊對映和 B 樹容器。[Apache2] website
  • PGM-index - 一種資料結構,可在包含數十億項的陣列中快速查詢、前驅查詢、範圍查詢和更新,所需空間比傳統索引少幾個數量級。[Apache2] website
  • plf::colony - 無序“袋”式容器,在頻繁修改的場景下效能優於 std 容器,同時無論插入還是刪除,均能為未刪除元素保留永久指標。[zLib] website
  • plf::list - std::list 實現,透過移除範圍拼接來構建更利於快取的結構,從而顯著提升效能。[zLib] website
  • plf::stack - std::stack 容器介面卡的替代容器,在棧場景中的效能優於任何 std 容器。[zLib] website
  • ring_span lite - Arthur O’Dwyer 的 ring_span(即迴圈緩衝區檢視)的簡化實現。[MIT]
  • robin-hood-hashing - 面向 C++14、基於 Robin Hood 雜湊的快速省記憶體雜湊表。[MIT]
  • robin-map - 使用 Robin Hood 雜湊的快速雜湊對映和雜湊集合。[MIT]
  • sparsepp - 快速且節省記憶體的 C++ 雜湊對映。[BSD 3-clause]
  • sqlitemap - 由 SQLite 支援的持久化對映。[MIT]
  • st_tree - 快速靈活的 C++ 樹資料結構模板類。[Apache-2.0]
  • svector - 面向 C++17 及更高版本、經過 SVO 最佳化的緊湊 vector。[MIT]
  • tree.hh - 類似 STL 的 C++ 僅標頭檔案樹庫。[GPL2+]
  • unordered_dense - 基於 Robin Hood 向後移位刪除的快速、緊湊儲存雜湊對映和雜湊集合。[MIT]
  • fifo_map - 按 FIFO 順序排列的 C++ 關聯容器。[MIT]
  • ordered-map - 保留插入順序的 C++ 雜湊對映和雜湊集合。[MIT]

密碼學和加密庫

  • Bcrypt - 跨平臺檔案加密工具。加密檔案可在所有支援的作業系統和處理器間移植。[BSD]
  • BeeCrypt - 可移植且快速的密碼學庫。[LGPLv2.1+]
  • BoringSSL - OpenSSL 的分支,旨在滿足 Google 的需求。[Apache2]
  • Botan - C++ 密碼學庫。[BSD-2]
  • Crypto++ - 免費的 C++ 密碼方案類庫。[Boost] website
  • digestpp - C++11 僅標頭檔案訊息摘要(雜湊)庫。[PublicDomain]
  • GnuPG - OpenPGP 標準的完整免費實現。[GPL]
  • GnuTLS - 實現 SSL、TLS 和 DTLS 協議的安全通訊庫。[LGPL2.1]
  • Libgcrypt - 通用密碼學庫,最初基於 GnuPG 中的程式碼。[LGPLv2.1+]
  • LibreSSL - 2014 年從 OpenSSL 分支出的免費 SSL/TLS 協議實現。[?]
  • libsodium - 基於 NaCl 的(可移植|可打包)密碼庫,觀點鮮明且易於使用。[ISC]
  • libhydrogen - 輕量、安全、易用的密碼庫,適用於資源受限環境。[ISC]
  • LibTomCrypt - 功能相當全面、模組化且可移植的密碼學工具包。[WTFPL]
  • mbedTLS - 開源、可移植、易用、易讀且靈活的 SSL 庫,舊稱 PolarSSL。[Apache2] website
  • Nettle - 底層密碼學庫。[LGPL]
  • OpenSSL - 穩健、達到商業級品質、功能全面的開源密碼學庫。[Apache] website
  • retter - 與密碼學相關的雜湊函式、密碼、工具、庫和資料集合。
  • s2n - TLS/SSL 協議實現。[Apache]
  • sha1collisiondetection - 用於檢測檔案中 SHA-1 碰撞的庫和命令列工具。[MIT]
  • stduuid - UUID 的跨平臺 C++17 實現。[MIT]
  • Tink - 多語言、跨平臺庫,提供安全、易於正確使用且難以(更難)誤用的密碼學 API。[Apache-2.0]
  • Tiny AES in C - 小巧、可移植的 C 語言 AES128/192/256 實現。[PublicDomain]
  • tiny-ECDH-c - 小巧、可移植的 C 語言 ECDH 金鑰協商協議實現。[PublicDomain]
  • Themis - 簡化資料安全的密碼庫,為移動端和伺服器平臺提供對稱與非對稱加密,以及具備前向保密性的安全套接字。[Apache2]
  • HEhub - 同態加密及其應用庫。[Apache2]
  • Qt-Secret - 面向 C++ 專案、基於 Qt 的簡單加密庫。[LGPL]
  • micro-ecc - 面向 8 位、32 位和 64 位處理器的小型高速 ECDH 和 ECDSA 實現。[BSD-2-Clause]
  • crypto-algorithms - 標準密碼演算法(AES、SHA 等)的基礎 C 語言實現。[PublicDomain]
  • aes-stream - 快速的 C 語言 AES 流密碼。[ISC]

用於解析逗號分隔值(CSV)檔案的庫

  • commata - 又一個 C++17 僅標頭檔案 CSV 解析器。[Unlicense]
  • csv2 - 現代 C++ 快速 CSV 解析器。[MIT]
  • Csv::Parser - 使用 C++17 編寫的編譯期和執行期 CSV 解析器。[Zlib]
  • Fast C++ CSV Parser - 用於讀取 CSV 檔案的小巧、易用且快速的僅標頭檔案庫。[BSD-3-Clause]
  • Glaze - 高效能、支援反射的僅標頭檔案 CSV 庫。[MIT]
  • lazycsv - 面向現代 C++ 的快速、輕量、單標頭檔案 CSV 解析器。[MIT]
  • rapidcsv - 易用的僅標頭檔案 C++ CSV 解析庫。[BSD-3-Clause]
  • ssp - 快速、靈活且具有現代 C++ API 的僅標頭檔案“csv”解析器。[MIT]
  • Vince’s CSV Parser - 快速、自包含的流式 C++17 CSV 解析器,可選支援型別轉換和統計。[MIT]
  • zsv - 全球最快的(SIMD)CSV 解析器,帶有可擴充套件 CLI。[MIT]

資料庫庫、SQL 伺服器、ODBC 驅動和工具

  • ClickHouse - ClickHouse DBMS 的 C++ 客戶端。[Apache2]
  • CrossDB - 超高效能、輕量級的嵌入式和伺服器 OLTP 關聯式資料庫。[MPL-2.0] website
  • Doltlite - 帶版本控制的 SQLite。[PublicDomain/Apache2]
  • DuckDB - 程序內 SQL OLAP 資料庫管理系統。[MIT] website
  • hiberlite - 面向 sqlite3 的 C++ 物件關係對映。[BSD]
  • Hiredis - Redis 資料庫的極簡 C 客戶端庫。[BSD]
  • Infinity - 面向 LLM 應用構建的 AI 原生資料庫,提供極快的向量和全文搜尋。[Apache2]
  • Kuzu - 為查詢速度和可擴充套件性打造的可嵌入屬性圖資料庫管理系統,實現了 Cypher。[MIT]
  • Kvrocks - 使用 RocksDB 作為儲存引擎且相容 Redis 協議的分散式鍵值 NoSQL 資料庫。[Apache2]
  • Ladybug - 為查詢速度和可擴充套件性打造的嵌入式圖資料庫。[MIT] website
  • LevelDB - Google 編寫的快速鍵值儲存庫,提供從字串鍵到字串值的有序對映。[BSD]
  • libpg_query - 用於在伺服器環境之外訪問 PostgreSQL 解析器的 C 庫。[BSD-3-Clause]
  • libpqxx - PostgreSQL 官方 C++ 客戶端 API。[BSD-3-Clause]
  • LMDB - 速度極快、完全符合 ACID 語義的嵌入式鍵值儲存。[OpenLDAP]
  • LMDB++ - LMDB 嵌入式資料庫庫的 C++11 封裝。[PublicDomain]
  • mgclient - C/C++ Memgraph 客戶端。[Apache2]
  • MongoDB C Driver - MongoDB 的 C 客戶端庫。[Apache2]
  • MongoDB C++ Driver - MongoDB 的 C++ 驅動。[Apache2]
  • MongoDB Libbson - BSON 實用庫。[Apache2]
  • MySQL++ - MySQL C API 的 C++ 封裝。[LGPL]
  • nanodbc - 原生 C ODBC API 的小型 C++ 封裝。[MIT]
  • ODB - 面向 C++ 的開源、跨平臺、跨資料庫物件關係對映(ORM)系統。[GPLv2]
  • redis3m - hiredis 的封裝,提供簡潔的 C++ 介面,支援 sentinel 和可直接使用的模式。[Apache2]
  • Reindexer - 可嵌入的記憶體文件資料庫,提供高階查詢構建器介面。[Apache2] website
  • RocksDB - Facebook 的高速嵌入式鍵值儲存。[BSD]
  • SimDB - 高效能、共享記憶體、無鎖、跨平臺、單檔案且依賴極少的 C++11 鍵值儲存。[Apache2]
  • SlothDB - 無處不在的嵌入式 SQL 資料庫:可在膝上型電腦、伺服器和瀏覽器中執行。[MIT] website
  • SOCI - C++ 資料庫抽象層。[Boost]
  • Speedb - 社群主導專案:相容 RocksDB 的高效能、可擴充套件嵌入式鍵值儲存。[Apache2]
  • sqlgen - 基於反射的 C++20 ORM 和 SQL 查詢生成器,類似 Python 的 SQLAlchemy/SQLModel 或 Rust 的 Diesel。[MIT]
  • SQLite - 僅數百 KB 的全功能、完全嵌入式關聯式資料庫,可直接整合到專案中。[PublicDomain]
  • SQLiteC++ - 靈巧易用的 C++ SQLite3 封裝。[MIT]
  • sqlite_modern_cpp - SQLite 庫的 C++14 僅標頭檔案封裝。[MIT]
  • sqlite_orm - 面向現代 C++ 的輕量級 SQLite ORM 僅標頭檔案庫。[AGPL + paid MIT]
  • sqlpp11 - 用於 C++ SQL 查詢和結果的型別安全嵌入式領域專用語言。[BSD-2-Clause]
  • sqlpp23 - 型別安全的 C++ SQL 庫。[BSD-2-Clause]
  • TidesDB - 為快閃記憶體和 RAM 最佳化設計的高效能、耐久、事務型嵌入式儲存引擎。[MPL-2.0] website
  • TileDB - 快速的稠密和稀疏多維陣列 DBMS。[MIT] website
  • TinyORM - 現代 C++ ORM 庫。[MIT] website
  • UnQLite - 自包含、無伺服器、零配置的事務型 NoSQL 引擎。[BSD-2-Clause] website
  • upscaledb - 內建查詢介面的嵌入式“型別化”鍵值儲存。[GPLv3]
  • TigerBeetleDB C++ client (Community) - TigerBeetle 是面向關鍵任務安全性和效能設計的金融會計資料庫,旨在推動未來金融服務發展。[BSL-1.0]
  • Trilogy - 面向 MySQL 相容資料庫伺服器的客戶端庫,注重效能、靈活性和嵌入便利性。[MIT]
  • UStore - 面向 BLOB、JSON 和圖資料的多模態資料庫。[Apache2]
  • Velox - 用於最佳化查詢引擎和資料處理系統的 C++ 向量化資料庫加速庫。[Apache-2.0] website
  • Zvec - 輕量、極速的程序內向量資料庫。[Apache2] website
  • constexpr-sql - C++17 編譯期 SQL 查詢解析器和執行器。[MIT]
  • NuDB - 面向 SSD 的快速追加式鍵值儲存。[Boost]

資料視覺化庫

  • gplot++ - 與 Gnuplot 對接的跨平臺 C++ 僅標頭檔案繪相簿。[MIT]
  • matplotplusplus - 用於資料視覺化的 C++ 繪相簿。[MIT] website
  • mathplot - 基於現代 OpenGL 的 C++ 僅標頭檔案繪圖和資料視覺化庫。[Apache-2.0] website
  • Plotly++ - Plotly.js 圖形規範的 C++ 介面,用於建立互動式資料視覺化。[MIT]
  • matplotlib-cpp - Python 繪相簿 matplotlib 的 C++ 封裝。[MIT]

除錯庫、記憶體洩漏和資源洩漏檢測、單元測試

  • Attest - 跨平臺、無堆分配的 C 測試框架,支援引數化、生命週期感知的測試和斷言,以及臨時格式化訊息。[MIT]
  • backward-cpp - 美觀的 C++ 堆疊跟蹤美化列印工具。[MIT]
  • Bencher - 一套持續基準測試工具,旨在捕獲 CI 中的效能回退。[MIT]/[Apache2]
  • benchmark - Google 提供的輕量微基準測試支援庫。[Apache2]
  • Boost.Test - Boost 測試庫。[Boost] website
  • check - C 語言單元測試框架。[LGPL-2.1] website
  • doctest - 功能豐富且極其輕量的 C++ 單標頭檔案測試框架。[MIT]
  • Catch2 - 現代、原生 C++ 的單元測試、TDD 和 BDD 框架。[Boost]
  • Celero - C++ 基準測試框架。[Apache2]
  • cpp-dump - 用於除錯的 C++ 庫,可列印任何變數,包括使用者定義型別。[MIT]
  • CppUTest - 面向 C/C++ 的單元測試和模擬框架。[BSD-3-clause]
  • CUTE - 讓 C++ 單元測試更簡單。[LGPL3]
  • CMocka - 支援模擬物件的 C 單元測試框架。[Apache2]
  • CppBenchmark - C++ 效能基準測試框架,測量精度達納秒級。[MIT]
  • Cpptrace - 簡單、可移植、自包含的 C++ 堆疊跟蹤庫,支援 C++11 及更高版本。[MIT]
  • CppUnit - JUnit 的 C++ 移植版。[LGPL2]
  • CrashCatch - C++ 單標頭檔案崩潰報告工具,可記錄堆疊跟蹤並生成 .dmp 和 .txt 崩潰轉儲。[MIT] website
  • CTest - CMake 測試驅動程式。[BSD]
  • dbg-macro - C++ 的 dbg(…) 宏。[MIT]
  • DebugViewPP - 除錯日誌檢視器。[Boost]
  • Deleaker - 用於檢測資源洩漏的工具,包括記憶體、GDI 和控制代碼洩漏。
  • FakeIt - 簡單的 C++ 模擬框架。[MIT]
  • fff - 用於建立偽造 C 函式的微型框架。[MIT]
  • Google Mock - 用於編寫和使用 C++ 模擬類的庫。[BSD]
  • Google Test - Google C++ 測試框架。[BSD]
  • Hippomocks - 單標頭檔案模擬框架。[LGPL-2.1]
  • IceCream-Cpp - 從此不再用 cout/printf 除錯。[MIT]
  • ig-debugheap - 多平臺除錯堆,有助於定位記憶體錯誤。[BSD]
  • libassert - 過度工程化程度最高的 C++ 斷言庫。[MIT]
  • libtap - 使用 C 編寫測試。[GPL2]
  • microprofile - 帶網頁檢視的多平臺分析器。[Unlicense]
  • MinUnit - 自包含於單個標頭檔案中的極簡 C 單元測試框架。[MIT]
  • nanobench - 面向 C++11/14/17/20 的簡單、快速、準確的單標頭檔案微基準測試功能。[MIT] website
  • Nanotimer - 簡單、低開銷的跨平臺基準測試計時器類。[zLib] website
  • Nonius - C++ 微基準測試框架。[CC]
  • Remotery - 單個 C 檔案實現、帶網頁檢視器的分析器。[Apache2]
  • snitch - 輕量級 C++20 測試框架。[Boost]
  • Touca - 可自行託管的開源迴歸測試系統。[Apache2] website
  • UnitTest++ - 輕量級 C++ 單元測試框架。[MIT/X Consortium license]
  • Unity - 簡易 C 單元測試。[MIT]
  • utest.h - 面向 C 和 C++ 的單標頭檔案單元測試框架。[Unlicense]
  • utl::profiler - C++17 單標頭檔案分析器。[MIT]
  • μt - C++20 單標頭檔案/單模組、無宏的 μ(微型)單元測試框架。[Boost]
  • VLD - Visual Leak Detector,一款免費、穩健、開源的 Visual C++ 記憶體洩漏檢測系統。
  • heaptrack - Linux 堆記憶體分析器。[LGPL-2.1]
  • Doxide - 現代 C++ 的現代文件工具,使用 YAML 配置並輸出 Markdown。[Apache 2.0] website
  • doxygen :zap: - 根據帶註釋的 C++ 原始碼生成文件的事實標準工具。[GPL2] website
  • doxyrest - 將 Doxygen XML 轉換為 Sphinx 所用 reStructuredText 的編譯器。[MIT]
  • hdoc - 現代 C++ 文件工具。[AGPL/Proprietary] website
  • Natural Docs - 面向多種程式語言的開源文件生成器。[AGPL/Proprietary] website
  • Sourcey - 靜態文件生成器,支援處理 Doxygen XML,以及 OpenAPI、godoc、MCP 和 Markdown。[AGPL-3.0] website
  • Sphinx - Sphinx 讓建立智慧、美觀的文件變得輕鬆。[BSD-2-Clause] website

數字訊號處理。

  • DSPFilters - 一組實用的 C++ 數字訊號處理類。[MIT]
  • fCWT - 快速連續小波變換(fCWT)庫,可快速計算 CWT。[Apache-2.0]
  • FFTW - 用於計算一維或多維 DFT 的 C 庫。[GPL]
  • iir1 - IIR 實時 C++ 濾波器庫。[MIT]
  • kissfft - 貫徹“保持簡單,傻瓜”的快速傅立葉變換(FFT)庫。[BSD-3-Clause]
  • pocketfft - 基於 FFTPack 並進行了多項改進的 FFT 實現。[BSD-3-Clause]
  • wavelib - 一維和二維小波變換的 C 實現。[BSD-3-Clause]

用於解析和處理字型檔案的庫。

  • Fontconfig - 字型配置和自定義庫。[MIT] website
  • FreeType - 可免費使用的字型渲染軟體庫。[FTL & GPLv2]
  • otfcc - 用於解析和寫入 OpenType 字型檔案的 C 庫和實用工具。[Apache-2.0]
  • harfbuzz - 文字整形引擎。[Old MIT]
  • libschrift - 輕量級 TrueType 字型渲染庫。[ISC]
  • SheenBidi - Unicode 雙向演算法的高階實現。[Apache-2.0]
  • Acid - 高速 C++17 Vulkan 遊戲引擎。[MIT]
  • Allegro - 主要面向影片遊戲和多媒體程式設計的跨平臺庫。[zlib]
  • Axmol Engine - 面向桌面、移動端和 XBOX(UWP)的跨平臺遊戲引擎,源自 Cocos2d-x-4.0。[MIT] website
  • Cocos2d-x - 用於構建 2D 遊戲、互動書籍、演示和其他圖形應用的多平臺框架。[MIT]
  • Corange - 使用純 C、SDL 和 OpenGL 編寫的遊戲引擎。[BSD]
  • crown - 通用資料驅動遊戲引擎,從頭使用正統 C++ 編寫,秉持極簡且面向資料的設計理念。[MIT]
  • delta3d - 穩健的模擬平臺。[LGPL2]
  • EnTT - 遊戲與現代 C++ 的結合。[MIT]
  • GamePlay - 跨平臺原生 C++ 遊戲框架,用於建立 2D/3D 移動端和桌面遊戲。[Apache2]
  • Godot - 功能齊全、開源且採用 MIT 許可的遊戲引擎。[MIT]
  • Grit - 社群專案,旨在構建用於開放世界 3D 遊戲的免費遊戲引擎。[MIT]
  • Halley - 使用 C++14 編寫、具備“真正”實體元件系統的輕量級遊戲引擎。[Apache 2.0]
  • Hazel Game Engine - Hazel 主要是面向 Windows 的早期互動式應用和渲染引擎。[Apache-2.0 license]
  • IX-Ray Platform - X-Ray 1.6 引擎的分支,旨在改善遊戲體驗並簡化模組開發。[Modified MIT/non-commercial only]
  • JNGL - 面向 Linux、Windows、macOS、Android、iOS、Xbox、Nintendo Switch 和 Web 的 2D 庫。[zlib] website
  • KlayGE - 採用外掛架構的跨平臺開源遊戲引擎。[GPLv2] website
  • nCine - 注重效能的跨平臺 2D 遊戲引擎,使用 C++11 編寫,並可選用 Lua 指令碼。[MIT] website
  • o3de - 基於 Amazon Lumberyard 的開源、實時、多平臺 3D 引擎。[Apache2] website
  • OpenXRay - 經社群修改的 X-Ray 引擎,用於 S.T.A.L.K.E.R. 遊戲系列。[Modified BSD/non-commercial only]
  • Oxygine - 跨平臺 C++ 2D 遊戲引擎。[MIT]
  • Panda3D - 遊戲引擎,也是面向 Python 和 C++ 程式的 3D 渲染與遊戲開發框架。[Modified BSD] website
  • PixelGameEngine - olcPixelGameEngine 的官方發行版,是 javidx9 的 YouTube 影片和專案中使用的工具。[OLC3]
  • Polycode - 用於 C++ 創意編碼(帶 Lua 繫結)的跨平臺框架。[MIT]
  • quakeforge - 持續維護的原始 Quake 引擎程式碼分支,已有 20 多年開發歷史。[GPL-2.0]
  • raylib - 簡單易用、讓人享受影片遊戲程式設計的庫。[zlib/libpng] website
  • Spring - 強大的免費跨平臺 RTS 遊戲引擎。[GPLv2/GPLv3] website
  • Torque2D - 為 2D 遊戲開發打造的開源跨平臺 C++ 引擎。[MIT] website
  • Torque3D - 為 3D 遊戲開發打造的開源 C++ 引擎。[MIT] website
  • toy engine - toy 是輕量、模組化的 C++ 遊戲引擎,提供簡單且富有表現力的 C++ 慣用法,可透過快速迭代設計功能齊全的 2D 或 3D 遊戲。
  • Urho3D - 免費、輕量、跨平臺的 C++ 2D 和 3D 遊戲引擎,深受 OGRE 和 Horde3D 啟發。[MIT]
  • Zodiac Engine - 使用 C++20 和 Vulkan 編寫的開源跨平臺 3D 渲染引擎和編輯器(ZEngine)。[MIT]
  • ezEngine - 免費開源的 C++ 遊戲引擎。其理念是保持模組化和靈活性,使其適用於多種不同場景。[MIT] website
  • CXXGraph - 免費的 C++17 圖表示和演算法執行僅標頭檔案庫。[AGPL-3.0]
  • Graaf - 通用輕量級 C++20 相簿。[MIT] website

圖形使用者介面

  • Boden - 原生移動端跨平臺 GUI 框架。[GPL/LGPL/Proprietary] website
  • Brisk - 跨平臺 C++20 GUI 框架,支援 MVVM 和響應式功能,並提供可擴充套件的 GPU 加速渲染。[GPL/Proprietary] website
  • CEGUI - 靈活的跨平臺 GUI 庫。
  • Elements - 輕量、精細、解析度無關且模組化的 GUI 庫。[MIT]
  • FLTK - 快速、輕量、跨平臺的 C++ GUI 工具包。[LGPL2]
  • FOX Toolkit - 開源跨平臺控制元件工具包。[LGPL]
  • GacUI - GPU 加速的 C++ 使用者介面,提供所見即所得開發工具、XML 支援、內建資料繫結和 MVVM 功能。[Ms-PL]
  • GTK+ - 用於建立圖形使用者介面的多平臺工具包。[LGPL]
  • gtkmm - 流行 GUI 庫 GTK+ 的官方 C++ 介面。[LGPL]
  • imgui - 依賴極少的即時模式圖形使用者介面。[MIT]
  • implot - 面向 imgui 的即時模式繪圖控制元件。[MIT]
  • iup - 用於構建圖形使用者介面的多平臺工具包。[MIT]
  • libui - 簡單且可移植(但不失靈活性)的 C GUI 庫,使用所支援平臺的原生 GUI 技術。[MIT]
  • MyGUI - 快速、靈活且簡單的 GUI。[MIT]
  • nana - 使用現代 C++ 風格進行 GUI 程式設計的跨平臺庫。[Boost]
  • NanoGui - 面向 OpenGL 3.x 及更高版本的極簡跨平臺控制元件庫。[BSD]
  • NAppGUI - 使用 ANSI-C 構建跨平臺桌面應用的 SDK。[MIT] website
  • nuklear - 單標頭檔案 ANSI C GUI 庫。[PublicDomain]
  • QCustomPlot - 無額外依賴的 Qt 繪圖控制元件。[GPLv3]
  • Qwt - 面向技術應用的 Qt 控制元件。[Own based on LGPL]
  • QwtPlot3D - 功能豐富、基於 Qt/OpenGL 的 C++ 程式設計庫,主要提供一組 3D 控制元件。[zlib]
  • RmlUi - 不斷發展的 HTML/CSS 使用者介面庫,是 libRocket 的分支。[MIT]
  • Saucer - 現代跨平臺 C++ WebView 庫。[MIT]
  • Sciter - 可嵌入的 HTML/CSS/指令碼引擎,旨在作為現代桌面應用的 UI 層。[Free/Commercial]
  • Slint - 面向桌面和嵌入式裝置的輕量 GUI 工具包。[GPL/Free/Proprietary] website
  • TGUI - 跨平臺現代 C++ GUI。[Zlib] website
  • WebUI - 使用任意 Web 瀏覽器作為 GUI,後端可用你偏好的語言,前端使用 HTML5。[MIT] website
  • wxCharts - 用於在 wxWidgets 應用中建立圖表的庫。[MIT] website
  • wxWidgets - C++ 庫,允許開發者透過單一程式碼庫為 Windows、Mac OS X、Linux 和其他平臺建立應用。[Own LGPL]
  • Yue - 用於建立原生跨平臺 GUI 應用的庫。[LGPLv2]
  • GuiLite - 適用於所有平臺、最小的僅標頭檔案 GUI 庫(5 KLOC)。[Apache-2.0]
  • LCUI - 使用 C、XML 和 CSS 構建使用者介面的小型 C 庫。[MIT]
  • assimp - Open Asset Import Library(assimp)是跨平臺 3D 模型匯入庫,旨在為不同 3D 資原始檔格式提供通用 API。[BSD-3-Clause] website
  • bgfx - 跨平臺渲染庫。[BSD]
  • Blend2D - 由 JIT 編譯器驅動的 2D 向量圖形引擎。[Zlib] website
  • Cairo - 支援多種輸出裝置的 2D 圖形庫。[LGPL2 or Mozilla MPL]
  • C-Turtle - 作為 CImg 封裝的 C++11 僅標頭檔案海龜圖形庫。[MIT]
  • Diligent Engine - 現代跨平臺底層 3D 圖形庫。[Apache2]
  • DirectXTK - 一組用於編寫 DirectX 11.x C++ 程式碼的輔助類。[MIT]
  • GLFW - 簡單的跨平臺 OpenGL 管理庫。[zlib/libpng]
  • GLFWPP - GLFW 的輕量現代 C++17 僅標頭檔案封裝。[MIT]
  • Harfang 3D - 可用於 C++、Python、Lua 和 Go 的 3D 視覺化庫,基於 BGFX。[GPLv3/LGPLv3/Proprietary] website
  • herebedragons - 使用各種引擎、框架或 API 實現的基礎 3D 場景。[MIT] website
  • Horde3D - 小型 3D 渲染與動畫引擎。[EPL]
  • Ion - 一組小巧高效的庫,用於構建使用 3D 圖形的跨平臺客戶端或伺服器應用。[Apache2] website
  • Irrlicht - 使用 C++ 編寫的高效能實時 3D 引擎。[zlib]
  • libigl - 簡易 C++ 幾何處理庫。[MPL2]
  • LLGL - Low Level Graphics Library(LLGL)是現代圖形 API 的輕量抽象層。[BSD-3-Clause]
  • LunaSVG - 獨立的 C++ SVG 渲染庫。[MIT]
  • magnum - 面向遊戲和資料視覺化的輕量模組化 C++11/C++14 圖形中介軟體。[MIT] website
  • MESHLIB - 大幅提升 3D 資料處理效率的 SDK。[Free/Commercial] website
  • micro-gl - 實時、可嵌入、僅標頭檔案的 C++11 CPU 向量圖形庫;無需標準庫、FPU 或 GPU。[CUSTOM] website
  • NanoVG - 基於 OpenGL 的抗鋸齒 2D 向量繪相簿,適用於 UI 和視覺化。[Zlib]
  • Ogre 3D :zap: - 使用 C++ 編寫、面向場景的實時靈活 3D 渲染引擎(而非遊戲引擎)。[MIT] website
  • OpenSceneGraph - 高效能開源 3D 圖形工具包。[OSGPL]
  • OpenSubdiv - Pixar 的庫,用於在 CPU 和 GPU 上計算並渲染細分曲面。[Modified Apache2]
  • OpenVDB - 用於儲存、編輯和渲染體積資料集的庫和工具。[MPL2]
  • Panda3D - 面向 Python 和 C++ 的 3D 渲染與遊戲開發框架。[BSD]
  • Partio - 用於處理粒子資料的庫,支援大多數常見檔案格式。[Modified BSD]
  • Skia - 用於繪製文字、幾何圖形和影象的完整 2D 圖形庫。[BSD] website
  • ThorVG - 與平臺無關的可移植庫,可繪製向量場景和動畫,包括 SVG 和 Lottie。[MIT] website
  • TinySpline - 小巧而強大的 ANSI C 庫,用於對任意 NURBS、B 樣條和 Bézier 曲線進行插值、變換和查詢。[MIT]
  • urho3d - 跨平臺渲染和遊戲引擎。[多種許可,主要為 MIT]
  • Yocto/GL - 面向資料驅動、基於物理的圖形學的微型 C++ 庫。[MIT]
  • olive.c - 簡單的 2D 圖形庫。[MIT]
  • avir - 高品質 Pro HDR 影象縮放器和快速 SIMD Lanczos 縮放器。[MIT]
  • Boost.GIL - 通用影象庫。[Boost] website
  • BitmapPlusPLus - 簡單快速的 C++ 點陣圖僅標頭檔案庫。[MIT]
  • CImg - 小型開源 C++ 影象處理工具包。[Own LGPL or GPL]
  • CxImage - 影象處理和轉換庫,可載入、儲存、顯示及變換 BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K 影象。[zlib]
  • Dlib :zap: - 現代 C++11 機器學習、計算機視覺、數值最佳化和深度學習工具包。[Boost] website
  • fpng - 超高速 C++ PNG 讀寫器。[Unlicense]
  • FreeImage - 開源庫,支援流行的圖形影象格式以及當今多媒體應用所需的其他格式。[GPL2 or GPL3]
  • GD - GD 圖形庫,常用於 PHP 影象載入/處理和縮圖生成。[自定義寬鬆許可,要求在使用者文件中註明] website
  • DCMTK - DICOM 工具包。
  • GDCM - Grassroots DICOM 庫。
  • ITK - 開源跨平臺影象分析系統。[ITK 4.0 起採用 Apache2]
  • Jpegli - 改進的 JPEG 編碼器和解碼器實現。[BSD-3-Clause]
  • Leptonica - 開源庫,包含廣泛適用於影象處理和影象分析應用的軟體。[BSD-2-Clause] website
  • libavif - 用於編碼和解碼 .avif 檔案的庫。[BSD-2-Clause]
  • libfacedetection - 開源影象人臉檢測庫,檢測速度可達 1500FPS。[BSD]
  • libjpeg-turbo - 使用 SIMD 指令加速基線 JPEG 編解碼的 JPEG 影象編解碼器。[IJG & BSD-3-Clause & zlib] website
  • libjxl - JPEG XL 影象格式參考實現。[BSD-3-Clause]
  • libpng - 用於讀取、建立和處理 PNG(可移植網路圖形)柵格影象檔案的參考庫。[libpng-2.0] website
  • libspng - 簡單、現代的 libpng 替代品。[BSD-2] website
  • libvips - 快速且記憶體需求低的影象處理庫。[LGPL] website
  • LodePNG - C 和 C++ 的 PNG 編碼器與解碼器。[Zlib]
  • Magick++ - ImageMagick 的 C++ 程式介面。[Apache2]
  • MagickWnd - ImageMagick 的 C 程式介面。[Apache2]
  • MozJPEG - 改進的 JPEG 編碼器。[BSD/BSD-3-Clause/ZLIB]
  • OpenCV :zap: - 開源計算機視覺庫。[Apache2] website
  • OpenEXR - 跨平臺高動態範圍成像庫。[Modified BSDF]
  • OpenImageIO - 功能強大的影象和紋理處理庫,支援大量常見有損和 RAW 格式。[Modified BSD]
  • OpenJPEG - 使用 C 編寫的開源 JPEG 2000 編解碼器。[BSD-2-Clause]
  • PlutoFilter - C 語言單標頭檔案、零分配影象濾鏡庫。[MIT]
  • QOI - 用於快速無損影象壓縮的“Quite OK Image Format”格式。[MIT]
  • SAIL - 易用的跨平臺影象解碼庫,支援可插拔影象編解碼器。[MIT]
  • Simd - 使用 SIMD 的 C++ 影象處理庫,支援 SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AVX2、AVX-512、VMX(Altivec)、VSX(Power7)以及 ARM NEON。[MIT]
  • stb-image - STB 單標頭檔案影象載入庫。[Public Domain]
  • tesseract-ocr - OCR 引擎。[Apache2]
  • TinyDNG - C++ 僅標頭檔案 Tiny DNG/TIFF 載入器和寫入器。[MIT]
  • TinyEXIF - 小巧、符合 ISO 標準的 JPEG C++ EXIF 和 XMP 解析庫。[MIT]
  • TinyTIFF - 輕量級 TIFF 讀寫庫。[GPL-3.0]
  • Video++ - 高效能 C++14 影片和影象處理庫。[MIT]
  • VIGRA - 通用 C++ 計算機視覺影象分析庫。[MIT X11]
  • VTK - 免費開源軟體系統,用於 3D 計算機圖形、影象處理和視覺化。[BSD]
  • OpenImageDenoise - 用於光線追蹤影象的高效能、高品質降噪庫。[Apache-2.0] website
  • bitmap - 用於讀寫和處理 BMP 影象檔案的 C++ 點陣圖庫。[MIT]
  • gettext - GNU ‘gettext’。[GPL2]
  • IBM ICU - 提供 Unicode 和全球化支援的一組 C/C++ 與 Java 庫。[ICU]
  • libiconv - 不同字元編碼之間的編碼轉換庫。[GPL]
  • simdutf - Unicode 例程(UTF8、UTF16、UTF32):使用 SSE2、AVX2、NEON、AVX-512 每秒處理數十億字元。[Apache-2/MIT]
  • uni-algo - C/C++ Unicode 演算法實現。[Unlicense or MIT]
  • utf8.h - 面向 C 和 C++ 的單標頭檔案 UTF-8 字串函式。[Unlicense]
  • utf8proc - 用於處理 UTF-8 Unicode 資料的簡潔 C 庫。[MIT]
  • Apache Thrift - 高效的跨語言 IPC/RPC,支援在 C++、Java、Python、PHP、C# 等多種語言之間通訊。最初由 Facebook 開發。[Apache2]
  • Boost.Interprocess - 支援核心級共享記憶體和記憶體對映檔案的 Boost 僅標頭檔案庫,內建訊號量、互斥鎖等同步機制。[Boost] website
  • bRPC - 使用 C++ 編寫的工業級 RPC 框架,常用於搜尋、儲存、機器學習、廣告、推薦等高效能系統。[Apache2] website
  • Cap’n Proto - 快速資料交換格式和基於能力的 RPC 系統。[MIT] website
  • eCAL - 釋出/訂閱、客戶端/伺服器,支援 C++/Python/C# 及多種訊息協議(protobuf、capnproto 等)。[Apache2] website
  • gRPC - 高效能、開源、通用 RPC 框架。[BSD] website
  • Ice - 全面的 RPC 框架,支援 C++、C#、Java、JavaScript、Python 等語言。[GPLv2]
  • iceoryx - 面向安全關鍵系統的真正零複製程序間通訊框架,提供 C 和 Rust 繫結,可執行於 Linux、QNX、Windows、Mac OS、FreeBSD。[Apache2] website
  • libjson-rpc-cpp - 面向 C++ 伺服器和客戶端的 JSON-RPC 框架。[MIT]
  • nanomsg - 多種“可擴充套件性協議”的簡單高效能實現。[MIT] website
  • nng - nanomsg 下一代版本,輕量級無代理訊息庫。[MIT] website
  • rpclib - 現代 C++ msgpack-RPC 伺服器和客戶端庫。[MIT]
  • simple-rpc-cpp - C/C++ 函式的簡易 RPC 封裝生成器。[BSD]
  • SRPC - 支援多種協議和 OpenTelemetry 的輕量級 RPC 系統。[Apache2]
  • WAMP - 提供 RPC 和釋出/訂閱訊息模式。(多種實現、多種語言)
  • xmlrpc-c - 基於 XML 和 HTTP 的輕量 RPC 庫。[BSD]
  • Boost.PropertyTree - 可用於解析 XML/JSON/INI/Info 檔案的屬性樹解析器/生成器。[Boost] website
  • cJSON - Ultralightweight JSON parser in ANSI C. [MIT]
  • DAW JSON Link - 快速、便捷的 C++ JSON 序列化和解析。[BSL-1.0]
  • frozen - C/C++ JSON 解析器和生成器。[GPL & GPL2]
  • Glaze - 極快的現代 C++ 記憶體內 JSON 和介面庫。[MIT]
  • Jansson - 用於編碼、解碼和操作 JSON 資料的 C 庫。[MIT]
  • jbson - 用於構建和迭代 BSON 資料及 C++14 JSON 文件的庫。[Boost]
  • JeayeSON - 非常易用的(僅標頭檔案)C++ JSON 庫。[BSD]
  • Jsmn - 極簡 C 語言 JSON 解析器。[MIT]
  • json :zap: - 現代 C++ 的 JSON。[MIT] website
  • json.cpp - 一款風格華麗的 C++ JSON 解析/序列化庫。[Apache-2.0]
  • json.h - 用於 C 和 C++ JSON 解析的簡單單標頭檔案/單原始檔方案。[Unlicense]
  • json-build - C89 小型零分配 JSON 序列化器。[MIT]
  • json-c - C 語言 JSON 實現。[MIT]
  • jsoncons - C++ 僅標頭檔案庫,支援 JSON 和類 JSON 二進位制格式,以及 JSONPointer、JSONPatch、JSONPath 和 JMESPath。[Boost]
  • JsonCpp - 用於處理 JSON 的 C++ 庫。[MIT]
  • Jsonifier - 少量用於極速解析和序列化 JSON 物件的類。[MIT]
  • jsonParse - 簡單的 ANSI C JSON 解析器。[MIT]
  • json-parser - 使用可移植 ANSI C 編寫、佔用空間極小的 JSON 解析器。[BSD]
  • json-struct - 高效能單標頭檔案 JSON 解析器,可在 C++ 結構體與 JSON 之間相互解析。[MIT]
  • json-voorhees - C++ JSON 庫,支援 C++11,無依賴、快速且對開發者友好。[Apache2]
  • JSON Toolkit - C++20 的 JSON、JSON Pointer、JSON Schema 和 JSONL 庫。[AGPL/Commercial]
  • jute - 非常簡單的 C++ JSON 解析器。[PublicDomain]
  • libjson - C 語言 JSON 解析和列印庫,易於整合到任何模型中。[LGPL]
  • libjson - 輕量級 JSON 庫。[?]
  • LIBUCL :zap: - 通用配置庫解析器。[BSD-2-Clause]
  • meojson - 新一代 C++ JSON/JSON5 序列化引擎 | 零依賴 | 僅標頭檔案 | 釋放 JSON 潛力。[MIT]
  • parson - 使用 C 編寫的輕量 JSON 庫。[MIT]
  • PicoJSON - C++ 單標頭檔案 JSON 解析器和序列化器。[BSD]
  • qt-json - 用於將 JSON 資料解析為 QVariant 層級結構及反向轉換的簡單類。[GPLv3]
  • RapidJSON :zap: - 快速 C++ JSON 解析器/生成器,同時提供 SAX/DOM 風格 API。[MIT] website
  • sajson - 面向 C++11 的輕量、高效能 JSON 解析器。[MIT]
  • simdjson - 極速 JSON 庫,每秒可解析數 GB 的 JSON。[Apache-2.0]
  • Sonic-Cpp - 由 SIMD 加速的快速 JSON 序列化與反序列化庫。[Apache-2.0]
  • taoJSON - 零依賴 C++ JSON 僅標頭檔案庫。[MIT]
  • ujson - µjson 是小型 C++11 UTF-8 JSON 庫。[MIT]
  • UltraJSON - 使用 C 編寫的超高速 JSON 解碼器和編碼器。[BSD-3-Clause]
  • YAJL - 快速的 C 語言流式 JSON 解析庫。[ISC]
  • yyjson - 使用 ANSI C 編寫的高效能 JSON 庫。[MIT]
  • libdart - 高效能、針對網路最佳化的 JSON 處理庫。[MIT]
  • Abseil Logging - Abseil Logging 庫提供將日誌訊息寫入 stderr、檔案或其他接收端的功能。[Apache-2.0]
  • Blackhole - 基於屬性的日誌框架,旨在實現快速、模組化和高度可定製。[MIT]
  • Boost.Log - 專為高度模組化和可擴充套件性而設計。[Boost] website
  • BqLog - 輕量、高效能日誌系統,用於《王者榮耀》等專案。[Apache-2.0]
  • fmtlog - 高效能 fmtlib 風格日誌庫,延遲以納秒計。[MIT]
  • G3log - 帶動態接收端的非同步日誌器。[PublicDomain]
  • glog - Google 日誌模組的 C++ 實現。
  • haclog - 極快的純 C 日誌庫。[MIT]
  • Log4cpp - C++ 類庫,可靈活地將日誌寫入檔案、syslog、IDSA 和其他目標。[LGPL]
  • log4cplus - 易用的 C++ 日誌 API,可執行緒安全、靈活且細粒度地控制日誌管理和配置。[BSD & Apache2]
  • loguru - 輕量級 C++ 日誌庫。[PublicDomain]
  • lwlog - 極速同步和非同步 C++17 日誌庫。[MIT]
  • ng-log - 用於應用級日誌記錄的 C++14 庫。[BSD-3-Clause]
  • plog - 程式碼不到 1000 行的可移植、簡易 C++ 日誌庫。[MPL2]
  • reckless - 低延遲、高吞吐量的 C++ 非同步日誌庫。[MIT]
  • spdlog - 超快速 C++ 僅標頭檔案日誌庫。
  • templog - 可用於向 C++ 應用新增日誌功能的超小型輕量庫。[Boost]
  • P7Baical - 開源跨平臺庫,可高速傳送遙測和跟蹤資料,同時最大限度減少 CPU 和記憶體使用。[LGPL]
  • Quill - 跨平臺低延遲非同步日誌庫。[MIT]
  • logfault - 簡單、優雅、高效的 C++ 僅標頭檔案日誌庫。[MIT]
  • Caffe - 快速神經網路框架。[BSD]
  • catboost - 快速、可擴充套件、高效能的決策樹梯度提升庫。[Apache2]
  • CCV - 基於 C、快取、核心計算機視覺庫,一款現代計算機視覺庫。[BSD]
  • darknet - 使用 C 和 CUDA 編寫的開源神經網路框架。[PublicDomain] website
  • Dlib :zap: - 現代 C++11 機器學習、計算機視覺、數值最佳化和深度學習工具包。[Boost] website
  • FAISS - 用於密集向量高效相似性搜尋和聚類的庫。[MIT]
  • FANN - 快速 C 語言人工神經網路庫。[LGPL]
  • Fido - 面向嵌入式電子裝置和機器人的高度模組化 C++ 機器學習庫。[MIT] website
  • flashlight - Facebook AI Research 開發的快速靈活機器學習庫,完全使用 C++ 編寫並基於 ArrayFire 張量庫。[BSD-3-Clause] website
  • ggml - 支援 16 位和 4 位量化的機器學習張量庫。[MIT]
  • libsvm - 簡單、易用、高效的支援向量機庫。[BSD-3-Clause] website
  • m2cgen - CLI 工具,可將訓練好的經典機器學習模型轉譯為零依賴的原生 C 程式碼。[MIT]
  • MeTA - 現代 C++ 資料科學工具包。[MIT]
  • Minerva - 快速靈活的深度學習系統。[Apache2]
  • mlpack - 可擴充套件的 C++ 機器學習庫。[LGPLv3] website
  • ncnn - 針對移動平臺最佳化的高效能神經網路推理計算框架。[BSD]
  • OpenCV :zap: - 開源計算機視覺庫。[BSD] website
  • oneDAL - 強大的機器學習庫,可加速大資料分析。[Apache]
  • ONNX runtime - 用於訓練和推理 ONNX 模型的 C 和 C++ 庫。ONNX 是一種標準,可將 AI 模型轉換為該格式,而不受訓練所用庫的限制。[MIT] website
  • Recommender - 使用協同過濾(CF)提供產品推薦/建議的 C 庫。[BSD]
  • RNNLIB - 用於序列學習問題的迴圈神經網路庫。[GPLv3]
  • SHOGUN - Shogun 機器學習工具箱。[GPLv3]
  • sofia-ml - 快速增量機器學習演算法套件。[Apache2]
  • USearch - 面向向量和字串的快速搜尋與聚類庫。[Apache2]
  • VLFeat - VLFeat 開源庫實現了流行的計算機視覺演算法,專注於影象理解、本地特徵提取和匹配。[BSD-2-Clause] website
  • xgboost - 可擴充套件、可移植、分散式的梯度提升(GBDT、GBRT 或 GBM)庫,支援 Python、R、Java、Scala、C++ 等。可執行於單機、Hadoop、Spark、Flink 和 DataFlow。[Apache2]
  • TensorComprehensions - 功能完備的 C++ 庫,可自動合成高效能機器學習核心。[Apache-2.0]
  • kann - 輕量級 C 人工神經網路庫。[MIT]
  • Apophenia - 用於統計和科學計算的 C 庫。[GPL2]
  • Armadillo - 用於線性代數和科學計算的快速 C++ 庫。[Apache2] website
  • autodiff - 現代、快速且表達力強的 C++ 自動微分庫。[MIT] website
  • blaze - 面向稠密和稀疏運算的高效能 C++ 數學庫。[BSD]
  • Boost.Multiprecision - 為 C++ 提供更大範圍/更高精度的整數、有理數和浮點型別,可僅使用標頭檔案或透過 GMP/MPFR/LibTomMath 後端實現。[Boost] website
  • ceres-solver - Google 的 C++ 庫,用於建模和求解大型複雜非線性最小二乘問題。[BSD]
  • CGAL - 高效可靠的幾何演算法集合。[LGPL&GPL] website
  • cml - 可配置數學庫。[Boost]
  • CNL - C++ 組合式數值庫。[Boost]
  • DirectXMath - 完全內聯的 SIMD C++ 線性代數庫,適用於遊戲和圖形應用。
  • Dlib :zap: - 現代 C++11 機器學習、計算機視覺、數值最佳化和深度學習工具包。[Boost] website
  • Eigen - 高層 C++ 模板標頭檔案庫,提供線性代數、矩陣和向量運算、數值求解器及相關演算法。[MPL2]
  • ExprTk - C++ 數學表示式工具包庫(ExprTk),是一款易用、易整合且效率極高的執行時數學表示式解析與求值引擎。[MIT]
  • Fastor - 面向現代 C++ 的輕量高效能張量代數框架。[MIT]
  • geo-utils-cpp - C++17 僅標頭檔案球面經緯度幾何庫:距離、方位角、面積、點在多邊形內判斷。[Apache2]
  • Geometric Tools - 用於數學、圖形、影象分析和物理領域計算的 C++ 庫。[Boost] website
  • GLM - 與 OpenGL GLSL 數學匹配且可互操作的 C++ 數學僅標頭檔案庫。[MIT] website
  • GMTL - 圖形數學模板庫,提供以通用方式實現圖形基元的一組工具。[GPL2]
  • GMP - C 語言任意精度運算庫,可處理有符號整數、有理數和浮點數。[LGPL3 & GPL2]
  • Klein - 快速、經 SIMD 最佳化的 C++17 幾何代數庫,支援點、直線、平面投影、交點、連線、剛體運動等。[MIT] website
  • libfixmath - 跨平臺定點數學庫。[MIT]
  • linalg.h - C++ 單標頭檔案、公有領域的短向量數學庫。[Unlicense]
  • MATIO - MATLAB MAT 檔案 I/O 庫。[BSD-2-Clause] website
  • MatX - 由 GPU 加速、採用 MATLAB/Python 類似語法的 C++17 數值計算庫。[BSD 3-clause]
  • mexce - 單標頭檔案、零依賴 JIT 編譯器,可為標量數學表示式生成最佳化的 x87 FPU 機器碼。[BSD]
  • MIRACL - 多精度整數與有理數運算密碼學庫。[AGPL]
  • NumCpp - Python Numpy 庫的模板化 C++ 僅標頭檔案實現。[MIT]
  • NumKong - 透過 SIMD 加速的距離、點積、矩陣運算、地理空間和幾何核心,支援 16 種數值型別。[Apache2](舊稱 SimSIMD)
  • OMath - 使用 C++23 編寫的跨平臺現代通用數學庫,適用於作弊工具/遊戲開發。[ZLIB]
  • muparser - 使用 C++ 編寫的可擴充套件高效能數學表示式解析庫。[MIT]
  • LibTomMath - 完全使用 C 編寫的免費開源可移植數論多精度整數庫。[PublicDomain & WTFPL] website
  • linmath.h - 面向圖形程式設計的精簡線性數學庫。[WTFPL]
  • lp_solve - 用於構建和求解線性規劃問題的庫。[LGPL] website
  • OpenBLAS - 基於 GotoBLAS2 1.13 BSD 版本的最佳化 BLAS 庫。[BSD 3-clause] website
  • PCG-rand - PCG 是一系列簡單、快速、省空間且統計性質良好的隨機數生成演算法。不同於許多通用 RNG,它們也難以預測。[Apache]
  • QuantLib - 免費開源量化金融庫。[Modified BSD] website
  • sebsjames/maths - 注重客戶端程式設計師使用便利與愉悅體驗的 C++20 模板數學庫(用於 mathplot)。[Apache2] website
  • StatsLib - C++ 統計分佈函式僅標頭檔案庫。[Apache2] website
  • SymEngine - 快速符號運算庫,以 C++ 重寫 SymPy 核心。[MIT]
  • TinyExpr - 用於從字串解析和求值數學表示式的 C 庫。[zlib]
  • Vc - C++ SIMD 向量類。[BSD]
  • Versor - 通用(快速)C++ 幾何代數庫,涵蓋歐幾里得、射影、共形、時空等代數。
  • Wagyu - 用於幾何並集、交集、差集和異或運算的通用庫。[mapbox-wagyu original]
  • wide-integer - Wide-Integer 實現了 uint128_t、uint256_t、uint512_t、uint1024_t 等通用 C++ 模板。[BSL-1.0]
  • Wykobi - 高效、穩健且易用的 C++ 2D/3D 定向計算幾何例程庫。[MIT]
  • xtensor - 受 NumPy 語法啟發、使用多維陣列表示式進行數值分析的 C++14 庫。[BSD 3-clause] website
  • universal - 實現任意 posit 算術的 C++14 僅標頭檔案庫。Posit 數制是一種漸進式浮點表示,比 IEEE 浮點更高效,可支援可復現計算科學。[MIT license]
  • utl::random - 實現快速隨機數生成的 C++17 僅標頭檔案庫,適用於蒙特卡洛模擬和遊戲開發。[MIT]
  • XAD - 強大的 C++ 自動微分庫。[AGPL] website
  • geogram - 幾何演算法程式設計庫。[BSD-3-Clause]
  • std-simd - C++ std::experimental::simd 的可移植實現。[BSD-3-Clause]
  • libdivide - 使用 libdivide 最佳化 C/C++ 整數除法。[zlib] website
  • fpsqrt - 快速 C 定點和浮點平方根實現。[MIT]
  • fastmod - 用於計算餘數和模約簡的快速 C/C++ 僅標頭檔案庫。[Apache-2.0]
  • Spectra - 基於 Eigen 構建的大規模特徵值問題 C++ 庫。[MPL2] website
  • FastNoiseSIMD - SIMD 加速噪聲生成函式庫。[MIT]
  • Boehm GC - 面向 C 和 C++ 的保守式垃圾回收器。[類似 X11] website
  • C Smart Pointers - 面向(GNU)C 語言的智慧指標。[MIT]
  • Hoard - 面向 Linux、Windows 和 Mac 的快速、可擴充套件、省記憶體 malloc。[Apache-2.0] website
  • jemalloc - 通用 malloc(3) 實現,注重避免記憶體碎片並支援可擴充套件併發。[BSD] website
  • memory - 相容 STL 的 C++ 記憶體分配器庫。[ZLib]
  • memory-allocators - 用於提升動態記憶體分配效能的自定義記憶體分配器。[MIT]
  • mimalloc - 緊湊且效能出色的通用分配器。[MIT]
  • rpmalloc - 使用 C 實現的跨平臺無鎖執行緒快取記憶體分配器,按 16 位元組對齊。[PublicDomain]
  • snmalloc - 基於訊息傳遞的高效能分配器。[MIT]
  • TCMalloc - Google 快速多執行緒 malloc 實現。[Apache-2.0] website
  • buddy_alloc - 單標頭檔案 C 語言夥伴記憶體分配器,分配成本有界。[0BSD]
  • tgc - 使用約 500 行程式碼編寫的小型 C 垃圾回收器。[BSD]
  • Mesh - 可自動減少 C/C++ 應用記憶體佔用的記憶體分配器。[Apache-2.0]
  • rpmalloc - 公有領域跨平臺無鎖執行緒快取記憶體分配器,按 16 位元組對齊。[PublicDomain]
  • TLSF - 兩級分離適配記憶體分配器,一種通用動態記憶體分配器。[BSD]
  • GStreamer - 用於構建媒體處理元件圖的庫。[LGPL]
  • icey - 使用 C++20 構建的實時媒體棧和輕量 libwebrtc 替代品,支援 RTSP 接入、媒體處理、信令、TURN 和瀏覽器傳輸。[LGPL v2.1+]
  • libass - 可移植的 ASS/SSA 字幕格式渲染器。[ISC]
  • libav - 用於處理音訊、影片、字幕及相關後設資料等多媒體內容的庫和工具集合。[LGPL v2.1+ and others] website
  • LIVE555 Streaming Media - 使用開放標準協議(RTP/RTCP、RTSP、SIP)的多媒體流媒體庫。[LGPL]
  • libVLC - libVLC(VLC SDK)媒體框架。[GPL]
  • MediaInfoLib - 便捷地統一顯示影片和音訊檔案中最相關的技術資訊和標籤資料。[BSD]
  • QtAv - 基於 Qt 和 FFmpeg 的多媒體播放框架,可輕鬆編寫播放器。[LGPL] website
  • SDL :zap: - Simple DirectMedia Layer(簡單直接媒體層)。[zlib] website
  • SFML :zap: - 簡單快速的多媒體庫。[zlib] website
  • TagLib - 用於讀取和編輯多種流行音訊格式後設資料的庫。[LGPL/MPL] website
  • ada - 使用現代 C++ 編寫、符合 WHATWG 標準的快速 URL 解析器。[Apache-2.0/MIT]
  • ACE - C++ 物件導向網路程式設計工具包。[?MIT?]
  • AGENT++ - C++ 框架,提供完整的三語 SNMP v1/2c/3 協議引擎和分發器,用於開發 SNMP 代理。[Apache-2.0]
  • Boost.Asio :zap: - 跨平臺 C++ 網路和底層 I/O 程式設計庫。[Boost] website
  • Boost.Beast :zap: - 基於 C++11 Boost.Asio 構建的 HTTP 和 WebSocket。[Boost] website
  • Breep - 基於事件的高階 C++14 點對點庫。[EUPL-1.1 (OSI approved)]
  • C++ REST SDK - C++ REST SDK(舊稱 Casablanca)。[Apache2]
  • CZMQ - ØMQ 的高階 C 語言繫結。[MPL2] website
  • Restbed - C++11 非同步 RESTful 框架。[AGPL]
  • Restinio - C++14 僅標頭檔案庫,可提供嵌入式 HTTP/WebSocket 伺服器。[BSD]
  • c-ares - 用於非同步 DNS 請求的 C 庫。[MIT]
  • cofetch - 基於 libcurl multi 介面和 ASIO 構建的可鏈式非同步 HTTP 客戶端。透過單一實現支援回撥、協程和 future。[MIT]
  • cpp-httplib - 單檔案 C++11 HTTP/HTTPS 伺服器僅標頭檔案庫。[MIT]
  • cpp-netlib - 面向高階網路程式設計的開源庫集合。[Boost]
  • cpp-netlib/uri - 相容 RFC 3986 和 RFC 3987 的 C++ URI 解析/構建庫。[Boost]
  • CppServer - 超高速、低延遲非同步套接字伺服器和客戶端 C++ 庫,支援 TCP、SSL、UDP、HTTP、HTTPS、WebSocket 協議,並解決萬級連線問題。[MIT]
  • cpr - 現代 C++ HTTP 請求庫,介面簡單而強大,仿照 Python Requests 模組設計。[MIT] website
  • curlcpp - CURL(libcurl)的物件導向 C++ 封裝。[MIT]
  • curlpp - libcURL 的 C++ 封裝。[MIT]
  • DPDK - 資料平面開發套件,提供高速資料包處理庫和驅動。[BSD-3-Clause & GPL-2.0] website
  • ENet - 可靠的 UDP 網路庫。[MIT] website
  • evpp - 支援 TCP/UDP/HTTP 協議的高效能 C++ 網路庫。[BSD]
  • FTP client for C++ - 用於發起 FTP 請求的 C++ 客戶端。[MIT]
  • H2O - 支援 HTTP/1.x 和 HTTP/2 的最佳化 HTTP 伺服器,也可作為庫使用。[MIT]
  • KCP - 快速可靠的 ARQ 協議,可幫助應用降低網路延遲。[MIT]
  • libcurl - 多協議檔案傳輸庫。[MIT/X 衍生許可]
  • libhttpserver - 用於建立嵌入式 REST HTTP 伺服器等功能的 C++ 庫。[LGPL2.1]
  • Libmicrohttpd - GNU libmicrohttpd 是小型 C 庫,旨在方便地將 HTTP 伺服器作為其他應用的一部分執行。[LGPL v2.1+]
  • libpcap - 可移植的 C/C++ 網路流量捕獲庫。[BSD] website
  • libquic - 從 Chromium 的 QUIC 實現中提取的 QUIC 協議庫。[BSD]
  • librdkafka - Apache Kafka 的 C 和 C++ 客戶端庫。[BSD-2-Clause]
  • libwebsockets - 輕量級純 C WebSocket 實現,提供客戶端和伺服器庫。[LGPL2.1 + static link exception] website
  • Lithium - 無需成為 C++ 專家即可構建高效能 C++ HTTP 伺服器。[MIT]
  • lwIP - 輕量級 TCP/IP 協議棧。[Modified BSD]
  • mailio - 跨平臺 C++ 庫,支援 MIME 格式以及 SMTP、POP3 和 IMAP 協議。[BSD]
  • Mongoose - 極輕量級 Web 伺服器。[GPL2]
  • MQTT-C - 面向嵌入式系統和 PC 的可移植 MQTT C 客戶端。[MIT] website
  • mTCP - 面向多核系統、高度可擴充套件的使用者態 TCP 協議棧。[Modified BSD]
  • Muduo - 面向 Linux 多執行緒伺服器的 C++ 非阻塞網路庫。[BSD]
  • nghttp2 - HTTP/2 C 庫。[MIT] website
  • nghttp3 - 使用 C 編寫的 HTTP/3 庫。[MIT] website
  • Onion - 使用 C 編寫、輕量易用的 HTTP 伺服器庫。[Apache2/GPL2]
  • OpenDDS - 物件管理組織(OMG)資料分發服務(DDS)的開源 C++ 實現。[Apache2]
  • PF_RING™ - 高速資料包處理框架。[LGPL-2.1] website
  • PicoHTTPParser - 小巧、基礎且快速的 HTTP 請求/響應解析器。[MIT]
  • POCO :zap: - C++ 類庫和框架,用於構建可在桌面、伺服器、移動端和嵌入式系統執行的網路及網際網路應用。[Boost] website
  • Proxygen - Facebook 的 C++ HTTP 庫集合,包含易用的 HTTP 伺服器。[BSD]
  • RedPanda - 面向開發者的流式資料平臺,相容 Kafka API,速度快 10 倍。[BSL]
  • RakNet - 面向遊戲程式設計師的跨平臺開源 C++ 網路引擎。[BSD]
  • restclient-cpp - 簡單的 C++ REST 客戶端,封裝 libcurl 以發起 HTTP 請求。[MIT]
  • Seasocks - 簡單小巧、可嵌入 C++ 的 Web 伺服器,支援 WebSocket。[BSD]
  • SNMP++ - 支援 SNMP v1/2c/v3 的 C++ API。[自定義寬鬆許可]
  • tlse - 單個 C 檔案實現的 TLS 1.2/1.3,使用 tomcrypt 作為密碼庫。[BSD-2-Clause]
  • TQUIC - 高效能、輕量、跨平臺 QUIC 庫,提供 C 和 C++ 介面。[Apache2]
  • Tufão - 基於 Qt 構建的 C++ 非同步 Web 框架。[LGPL2]
  • uriparser - 嚴格符合 RFC 3986 的 URI 解析和處理庫。[BSD-3-Clause]
  • uWebSockets - µWS 是現有實現中最輕量、高效且可擴充套件的 WebSocket 和 HTTP 伺服器之一。[Zlib]
  • UCall - 基於 io_uring、由 SIMD 加速的高效能 RPC 庫。[Apache2]
  • WAFer - 基於 C 語言、面向可擴充套件伺服器端和網路應用的超輕量軟體平臺。可以看作面向 C 程式設計師的 node.js。[GPL2]
  • Wangle - 用於構建非同步、事件驅動現代 C++ 服務的客戶端/伺服器應用框架。[Apache-2.0]
  • wdt - 可嵌入庫(及命令列工具),旨在透過多條 TCP 路徑儘可能快速地在兩個系統間傳輸資料。[BSD-3-Clause]
  • WebSocket++ - 基於 C++/Boost Asio 的 WebSocket 客戶端/伺服器庫。[BSD]
  • wspp - 零依賴、單標頭檔案現代 WebSocket 客戶端和伺服器庫,支援 ws/wss。[MIT]
  • PcapPlusPlus - 多平臺 C++ 網路嗅探、資料包解析與構造框架。[Unlicense]
  • ZeroMQ - 高速、模組化非同步通訊庫。[LGPL3/MPL2] website
  • Zyre - 用於點對點應用的區域網叢集。[MPL2]
  • easyhttpcpp - Sony 提供、支援快取功能的跨平臺 HTTP 客戶端庫。[MIT]
  • GameNetworkingSockets - Valve 提供的基於 UDP 的可靠和不可靠訊息通訊,採用面向連線的 API(類似 TCP)。[BSD-3-Clause]
  • wepoll - 基於 Winsock 的 Windows epoll 封裝。[BSD-2-Clause]

用於解析和處理 xlsx、pptx、docx 等檔案的庫。

  • DuckX - 用於建立和修改 Microsoft Word(.docx)檔案的 C++ 庫。[MIT]
  • FreeXL - 用於從電子表格中提取有效資料的開源庫。[MPL/GPL-2/LGPL-2]
  • libxls - 使用 C/C++ 讀取二進位制 Excel 檔案。[BSD-2-Clause]
  • libxlsxwriter - 用於建立 Excel XLSX 檔案的 C 庫。[BSD-2-Clause] website
  • OpenXLSX - 用於讀取、寫入、建立和修改 Microsoft Excel®(.xlsx)檔案的 C++ 庫。[BSD-3-Clause]
  • SimpleXlsxWriter - Microsoft Excel 2007 及更高版本的 XLSX 檔案寫入器。[zlib]
  • XLSX I/O - 用於讀寫 .xlsx 檔案的 C 庫。[MIT]

用於解析和處理 PDF 文件的庫。

  • libharu - 免費、跨平臺、開源的 PDF 生成軟體庫。[zlib]
  • litePDF - 使用裝置上下文呼叫 GDI 函式繪製頁面內容的 PDF 文件建立和編輯庫。[LGPL v3 and zlib]
  • MuPDF - 輕量級 PDF、XPS 和電子書檢視器。[AGPL/Proprietary]
  • PDF-Writer - 高效能 C++ PDF 檔案建立、修改和解析庫。[Apache-2.0] website
  • PDF4QT - PDF 工具包,包含渲染和編輯庫、檢視器及命令列工具。[MIT] website
  • pdfio - 簡單的 C 語言 PDF 檔案讀寫庫。[Apache-2] website
  • PDFium - PDF 生成和渲染庫。[BSD-3-Clause]
  • PoDoFo - PDF 檔案格式處理庫。[LGPL]
  • Poppler - 基於 xpdf-3.0 程式碼庫的開源多後端 PDF 渲染庫。[GPLv2/GPLv3]
  • QPDF - 用於在保留內容的同時轉換 PDF 檔案的工具和 C++ 庫。[Apache-2.0] website
  • Xpdf - 免費 PDF 檢視器和工具包,包括文字提取器、影象轉換器、HTML 轉換器等。[GPL v2/GPL v3]
  • DynaPDF - 易用的 PDF 生成庫。[Commercial]

動力學模擬引擎

  • Box2D - 遊戲用 2D 物理引擎。[BSD-like]
  • Bullet - 遊戲用 3D 物理引擎。[zlib] website
  • Chipmunk - 快速輕量的 2D 遊戲物理庫。[MIT] website
  • Jolt Physics - 適合多核處理器的剛體物理和碰撞檢測庫。[MIT]
  • Kratos - 用於構建並行多學科模擬軟體的框架,目標是實現模組化、可擴充套件性和高效能。[BSD] website
  • LiquidFun - 遊戲用 2D 物理引擎。[BSD-like]
  • Newton Dynamics - 實時物理環境模擬的一體化解決方案。[zlib]
  • ODE - Open Dynamics Engine,開源高效能剛體動力學模擬庫。[BSD&LGPL]
  • ofxBox2d - Box2D 的 openFrameworks 封裝。[BSD-like]
  • PhysX - Nvidia 作為 Nvidia GameWorks 軟體套件一部分開發的開源實時物理引擎中介軟體 SDK。[BSD-3-Clause]
  • PlayRho - 互動式物理引擎和庫。[Zlib]
  • Project Chrono - 開源多物理場模擬引擎。[BSD-3-Clause] website
  • Quantum++ - 現代 C++11 量子計算庫。[MIT]
  • QuarkPhysics - 2D 軟體和剛體物理引擎。[MIT]
  • Simbody - 高效能 C++ 多體動力學/物理庫,用於模擬車輛、機器人和人體骨骼等關節生物力學與機械系統。[Apache2]
  • SOFA - 面向實時模擬的開源框架,尤其專注於醫療模擬。[LGPL] website
  • tungsten - 高效能 C++ 基於物理的渲染器。[zlib]
  • config-loader - C++17 靜態反射框架,可將配置檔案解析為原生資料結構。[MIT]
  • Better Enums - 支援反射的列舉(轉字串、迭代),單標頭檔案實現。[BSD] website
  • clReflect - 使用 clang 實現 C++ 反射。[MIT]
  • CPFG - C++03 反射、回撥和指令碼繫結庫。[Apache2]
  • CPP-Reflection - 使用 clang 實現 C++ 反射。[MIT]
  • Easy Reflection - 類似 Rust、Java 或 Go 的簡單快速反射與序列化方案。[Apache]
  • Enchantum - 現代 C++17 編譯期列舉反射僅標頭檔案庫。[MIT]
  • Magic Enum - C++17 僅標頭檔案庫,為列舉提供靜態反射(轉字串、從字串轉換、迭代);無需宏或樣板程式碼即可適用於任意列舉型別。[MIT]
  • magic_get - 為使用者定義型別提供類似 std::tuple 的方法,無需宏或樣板程式碼。[Boost]
  • meta - C++ 僅標頭檔案、非侵入式、無宏的執行時反射系統。[MIT]
  • Nameof - C++17 僅標頭檔案庫,提供 nameof 宏和函式,以獲取變數、型別、函式、宏和列舉的簡單名稱。[MIT]
  • REFLECT - C++20 靜態反射庫。[MIT]
  • reflect-cpp - 透過反射實現序列化,包括從結構體自動獲取欄位名稱。[MIT]
  • RTTR - C++11 反射庫。[MIT] website
  • simple_enum - 快速、直觀、型別安全的 C++ 列舉支援庫。[BSL-1.0] website
  • TSMP - 非侵入式、無宏的 C++20 靜態反射庫。使用 libclang 從原始碼提取反射資料,並透過模板特化加以使用。[MIT]
  • visit_struct - 用於 C++ 結構體欄位反射的微型庫。[Boost]
  • Refureku - C++17 執行時反射和程式碼生成庫。[MIT]
  • CppVerbalExpressions - 讓 C++ 正規表示式變得簡單。[MIT]
  • CTRE - 編譯期、幾乎相容 PCRE 的正規表示式匹配器。[MIT]
  • Hyperscan - Intel 的高效能多正規表示式匹配庫,可同時匹配大量正規表示式(最多數萬條),通常用於 DPI 庫棧。[BSD]
  • Oniguruma - 現代靈活的正規表示式庫,支援多種字元編碼。[BSD]
  • PCRE - 受 Perl 正規表示式功能啟發的 C 語言正規表示式庫。[BSD]
  • PCRE2 - 一組用於實現 正規表示式模式匹配的 C 函式。[BSD] website
  • PIRE - Yandex 的 Perl 不相容正規表示式庫,速度可非常快(超過 400 MB/s)。[LPGL v3.0]
  • RE2 - 使用自動機理論和有限狀態機實現正規表示式的軟體庫。[BSD-3-Clause]
  • SLRE - C/C++ 超輕量正規表示式引擎。[GPLv2/Proprietary]
  • sregex - 基於非回溯 NFA/DFA 的 Perl 相容正規表示式引擎庫,用於匹配大型資料流。[BSD]
  • SRELL - 支援 Unicode 的 C++ 正規表示式模板庫。[BSD]
  • TRE - 近似正規表示式匹配庫和 agrep 命令列工具。[BSD-2-Clause]
  • Vectorscan - 高效能正規表示式匹配庫的可移植分支。[BSD-3-Clause]
  • Pawn.Regex - Pawn 外掛,透過 C++11 std::regex 提供正規表示式支援。[MIT]
  • FusionCore - ROS 2 UKF 感測器融合庫,可融合 GPS、IMU 和輪式里程計,並透過自適應噪聲和異常值剔除實現穩健的戶外定位。[Apache2]
  • MOOS-IvP - 一組開源 C++ 模組,為機器人平臺提供自主能力,尤其適用於自主海洋載具。
  • MRPT - 移動機器人程式設計工具包。[BSD]
  • PCL - 點雲庫是獨立、大型、開放的 2D/3D 影象和點雲處理專案。[BSD] website
  • Robotics Library (RL) - 自包含的 C++ 庫,支援機器人運動學、運動規劃和控制。[BSD]
  • RobWork - 用於機器人系統模擬和控制的 C++ 庫集合。[Apache2] website
  • ROS - 機器人作業系統,提供幫助軟體開發者建立機器人應用的庫和工具。[BSD]
  • Ruckig - 面向機器人和機器的實時運動生成庫。[MIT] website
  • YARP (Yet Another Robot Platform) - 用於通訊和裝置介面的庫與工具包。[BSD-3-Clause] website
  • SPICE Toolkit - 用於計算幾何資訊的庫和工具包,這些資訊用於規劃和分析機器人航天器獲取的科學觀測資料。[MIT] website
  • AMGCL - 用於透過代數多重網格法求解大型稀疏線性系統的 C++ 僅標頭檔案庫。[MIT]
  • Au - 相容 C++14、無依賴且可單檔案分發的物理單位庫,注重安全性、易用性、效能和開發體驗。[Apache 2.0] website
  • FFTW - 用於計算一維或多維 DFT 的 C 庫。[GPL]
  • GSL - GNU 科學計算庫。[GPL]
  • preCICE - 用於分割槽多物理場模擬(FSI、CHT 等)的耦合庫。[LGPL] website
  • TileDB - 快速的稠密和稀疏多維陣列 DBMS。[MIT] website
  • Trilinos - 高效能 PDE 求解器。[BSD]
  • Torch - 廣泛支援機器學習演算法、優先利用 GPU 的科學計算框架。[BSD-3-Clause] website
  • volesti - 截斷分佈的高維取樣、凸最佳化和體積計算。
  • AngelScript - 面向遊戲的 AngelScript 解釋型/編譯型指令碼語言。[zlib]
  • Boost.Python - C++ 庫,可實現 C++ 與 Python 程式語言之間的無縫互操作。[Boost] website
  • cppimport - 直接從 Python 匯入 C++ 檔案![MIT]
  • CppSharp - 用於將 C/C++ API 接入高階語言的工具和庫。[MIT]
  • ChaiScript - 易用的 C++ 嵌入式指令碼語言。[BSD] website
  • ctypes.sh - 面向 bash 的外部函式介面。[MIT]
  • Cython - Cython 是針對 Python 和擴充套件版 Cython(基於 Pyrex)程式語言的最佳化靜態編譯器,讓編寫 Python 的 C 擴充套件像編寫 Python 本身一樣簡單。[Apache] website
  • djinni - 用於生成跨語言型別宣告和介面繫結的工具。[Apache2]
  • Duktape - 佔用空間小、可嵌入的 JavaScript 引擎。[MIT] website
  • JavaCpp - Java 與原生 C++ 之間缺失的橋樑。[Apache2]
  • JerryScript - 面向物聯網的超輕量 JavaScript 引擎。[Apache-2.0] website
  • libffi - 可移植的外部函式介面庫。[MIT] website
  • Lua - 用於配置檔案和基礎應用指令碼的極簡快速指令碼引擎。[MIT]
  • LuaBridge - 輕量、無依賴的 Lua 到 C++ 繫結庫。[MIT]
  • LuaBridge3 - 輕量、無依賴的 Lua、LuaJIT、Luau 和 Ravi 到 C++ 繫結庫。[MIT]
  • luacxx - 建立 Lua 繫結的 C++11 API。[MIT]
  • Luau - 源自 Lua 的快速、小巧、安全、漸進型別化可嵌入指令碼語言。[MIT] website
  • MicroQuickJS - MicroQuickJS(又稱 MQuickJS)是面向嵌入式系統的 JavaScript 引擎。[MIT]
  • MiniScript - 現代、優雅、易學且易於嵌入自有 C# 或 C++ 專案的指令碼語言。[MIT]
  • nanobind - 小巧高效的 C++/Python 繫結。[BSD-3-Clause]
  • nbind - 神奇的標頭檔案,可讓 JavaScript 訪問你的 C++ 庫。[MIT]
  • PHP-CPP - 使用 C++ 構建 PHP 擴充套件的庫。[Apache2] website
  • pocketpy - 用於遊戲指令碼的 C++17 Python 直譯器,僅標頭檔案實現。[MIT] website
  • pybind11 - 實現 C++11 與 Python 之間無縫互操作。[BSD]
  • QuickJS - 小巧且可嵌入的 JavaScript 引擎。[MIT]
  • SIP - Python v2 和 v3 的 C 或 C++ 繫結生成器。[GPL]
  • sol2 - C++ 與 Lua API 封裝,具備高階功能和頂級效能。[MIT]
  • SWIG - 封裝/介面生成器,可將 C++ 程式碼連線到 JavaScript、Perl、PHP、Python、Tcl 和 Ruby。[GPL/輸出不受許可約束] website
  • txiki.js - 小型 JavaScript 執行時。[MIT]
  • V7 - 嵌入式 JavaScript 引擎。[GPL2]
  • V8 - Google 的快速 JavaScript 引擎,可嵌入任何 C++ 應用。[BSD]
  • v8pp - 僅標頭檔案庫,可將 C++ 類和函式暴露給 V8,以便在 JavaScript 程式碼中使用。[BOOST] website
  • ChakraCore - Microsoft 的 JavaScript 引擎,可嵌入 nodejs。[MIT]
  • MuJS - 可嵌入的 C 語言 JavaScript 直譯器。[ISC] website
  • hobbes - Morgan Stanley 開發的語言和嵌入式 JIT 編譯器。[Apache-2.0]
  • BitSerializer - 多格式序列化庫(JSON、XML、YAML、CSV、MsgPack)。[MIT]
  • Bitsery - C++ 二進位制序列化僅標頭檔案庫。[MIT]
  • Bond - 用於處理模式化資料的開源跨平臺框架。[MIT]
  • Boost.Serialization - Boost 序列化庫。[Boost] website
  • Cap’n Proto - 快速資料交換格式和基於能力的 RPC 系統。[MIT] website
  • cereal - C++11 序列化庫。[BSD]
  • cista - C++17 零複製高效能序列化/反序列化庫。[MIT]
  • cppcodec - C++11 僅標頭檔案庫,可使用一致靈活的 API 編碼/解碼 base64、base32 和十六進位制。[MIT]
  • FastBinaryEncoding - 超快速通用序列化方案,支援 C++、C#、Go、Java、JavaScript、Kotlin、Python、Ruby 和 Swift。[MIT]
  • FlatBuffers - 高記憶體效率序列化庫。[Apache2]
  • Kaitai Struct - 用於描述各種二進位制資料結構的宣告式語言,以及生成 C++ 解析器程式碼的編譯器。[GPLv3+][MIT][Apache2]
  • iguana - 使用 C++20 和 C++17 開發的現代通用易用序列化引擎。[Apache2]
  • MessagePack - 面向 C 和 C++、類似 JSON 的高效二進位制序列化格式。[Apache2] website
  • mrpt-serialization - 支援版本管理的二進位制或文字格式序列化。[BSD] website
  • nanopb - 程式碼體積小的 ANSI C Protocol Buffers 實現。[Zlib]
  • protobuf - Protocol Buffers,Google 的資料交換格式。[BSD]
  • protobuf-c - Protocol Buffers 的 C 語言實現。[BSD]
  • Protocol Puffers - 使用 C++20 編寫的小巧、高度模板化、相容 protobuf 的序列化/反序列化僅標頭檔案庫。[Apache-2.0]
  • SimpleBinaryEncoding - 面向低延遲應用的二進位制格式應用訊息編解碼工具。[Apache2]
  • upb - 小型 C 語言 protobuf 實現。[BSD]
  • Wirehair - 面向大型資料的 O(N) 噴泉碼。[BSD-3-Clause]
  • YAS - 極快的“又一個序列化”庫,支援二進位制/文字/JSON 格式。[Boost]
  • zpp_bits - 實際上,這是速度最快的現代序列化庫。請看這個影片。
  • fbthrift - Facebook 的 Apache Thrift 分支,包含序列化庫和 RPC 框架。[Apache-2.0]
  • cpp-sort - 面向 C++14 的排序演算法及相關工具。[MIT]
  • pdqsort - 模式規避快速排序。[zlib]
  • Timsort - 模板化穩定排序函式,對於逆序或部分排序的資料,效能優於 std::sort 等基於快速排序的演算法。[MIT]
  • Indiesort - 排序封裝器,可將 std::sort(及其他隨機訪問排序函式)用於非隨機訪問容器,還能提升隨機訪問容器和陣列中大型/不可平凡複製型別的排序效能。[zLib] website
  • x86-simd-sort - 用於高效能 SIMD 排序演算法的 C++ 模板庫。[BSD-3-Clause]
  • libvpx - VP8/VP9 編解碼器 SDK。[BSD]
  • FFmpeg - 完整的跨平臺音影片錄製、轉換和流式傳輸解決方案。[LGPL2/GPL2]
  • avcpp - FFmpeg 的現代 C++ 封裝。[MIT]
  • libde265 - 開源 H.265 影片編解碼器實現。[LGPL] website
  • x265 - 開源 H.265 影片編解碼器實現。[GPL2] website
  • OpenH264 - 開源 H.264 編解碼器。[BSD] website
  • Theora - 免費開源影片壓縮格式。[BSD]
  • Vireo - Twitter 開發的輕量、多功能影片處理庫。[MIT]
  • libuvc - USB 影片裝置跨平臺庫。[BSD]
  • CarpVM - 用 C 編寫的“有趣”虛擬機器。且看後續如何。[GPLv3]
  • MicroPython - 旨在讓 Python 3.x 實現執行於微控制器。[MIT]
  • TinyVM - 使用純 ANSI C 編寫的小巧、快速、輕量級虛擬機器。[MIT]
  • aeronet - 高效能模組化 C++ HTTP/1.1、HTTP/2 和 WebSocket 微服務框架,專注於效能和可擴充套件性。[MIT]
  • Civetweb - 易用強大的可嵌入 C/C++ Web 伺服器,可選支援 CGI、SSL 和 Lua。[MIT]
  • C++ REST SDK - Microsoft 專案,使用現代非同步 C++ API 設計,以原生程式碼實現雲端客戶端-伺服器通訊。[MIT]
  • CppCMS - 免費高效能 Web 開發框架(並非 CMS)。[LGPLv3]
  • Crow - 用於執行 Web 服務的 C++ 微型框架,採用類似 Python Flask 的路由方式。[BSD] website
  • Cutelyst - 基於 Qt 構建的 C++ Web 框架,採用 Catalyst(Perl)框架的簡潔方法。[BSD-3-Clause] website
  • Drogon - 基於 C++17/20 的高效能 HTTP 應用框架。[MIT]
  • C++ wfrest - C++ Web 框架 REST API。[Apache2]
  • facil.io - 事件驅動、高效能 C Web 框架,支援 HTTP、WebSocket、SSE 等。[MIT] website
  • Kore - 使用 C 開發、超快且靈活的 Web 伺服器/Web 應用框架。[ISC]
  • libOnion - 幫助使用 C 語言建立 Web 伺服器的輕量庫。[LGPLv3]
  • lwan - 實驗性、可擴充套件的高效能 HTTP 伺服器。[GPL2]
  • Mach - 現代 C++20 Web 框架,專注於效能、型別安全和開發體驗。[MIT] website.
  • oat++ - 輕量、零依賴框架,用於建立高效能 Web 服務。[Apache-2.0] website
  • Pistache - 使用純 C++11 編寫、無外部依賴的 C++ REST 框架。[Apache2]
  • QDjango - 使用 C++ 編寫、基於 Qt 庫構建的 Web 框架;儘可能遵循 django API,因此得名。[LGPL]
  • TreeFrog Framework - 基於 C++ 和 Qt 的高速全棧 Web 應用框架,支援 HTTP 和 WebSocket 協議(含物件關係對映)。[BSD] website
  • userver - 非同步 C++17 框架,提供豐富的抽象和資料庫驅動,可快速輕鬆地建立高效微服務、服務和實用工具。[Apache-2.0] website
  • Wt - 用於開發 Web 應用的 C++ 庫。[GPL/Proprietary]
  • httpserver.h - C 語言單標頭檔案 HTTP 伺服器庫。[MIT]
  • libhttp - 跨平臺 C/C++ HTTP 和 HTTPS 庫。[MIT]

XML 真是垃圾。真的,沒有任何藉口。XML 對人類來說很難解析,對計算機而言也是場災難。根本沒有理由讓這種糟糕透頂的東西存在。——Linus Torvalds

  • Boost.PropertyTree - 屬性樹解析器/生成器,可用於解析 XML/JSON/INI/Info 檔案。[Boost] website
  • Expat - 使用 C 編寫的 XML 解析庫。[MIT]
  • Libxml2 - Gnome 的 XML C 語言解析器和工具包。[MIT]
  • libxml++ - C++ XML 解析器。[LGPL2]
  • Mini-XML - 使用 ANSI C 編寫的小型 XML 解析庫。[LGPL2 with exceptions]
  • PugiXML - 輕量、簡單快速且支援 XPath 的 C++ XML 解析器。[MIT]
  • RapidXml - 致力於打造儘可能快的 XML 解析器,同時保留易用性、可移植性和合理的 W3C 相容性。[Boost]
  • TinyXML - 簡單、小巧、極簡的 C++ XML 解析器,可輕鬆整合到其他程式中。[zlib]
  • TinyXML2 - 簡單、小巧、高效的 C++ XML 解析器,可輕鬆整合到其他程式中。[zlib]
  • TinyXML++ - 全新 TinyXML 介面,充分發揮 C++ 的諸多優勢:模板、異常和更好的錯誤處理。[MIT]
  • Xalan C - 庫和命令列程式,可使用符合 XSLT 1.0 標準的樣式錶轉換 XML 文件。[Apache-2.0] website
  • Xerces-C++ - 使用可移植 C++ 子集編寫的驗證型 XML 解析器。[Apache2]
  • fkYAML - C++ YAML 僅標頭檔案庫。[MIT]
  • LibCYAML - 用於讀寫 YAML 的 C 庫。[ISC]
  • libfyaml - 精緻的 YAML 1.2 和 JSON 解析器/寫入器。[MIT]
  • LibYAML - 用於解析和輸出 YAML 的 C 庫。[MIT] website
  • mini-yaml - 單標頭檔案 YAML 1.0 C++11 序列化器/反序列化器。[MIT]
  • rapidyaml - Rapid YAML 是用於解析和輸出 YAML 的 C++ 庫。[MIT]
  • yaml-cpp - C++ YAML 解析器和輸出器。[MIT]

不屬於上述分類或尚未歸類的實用庫和工具

  • access_profiler - 用於統計 C++ 程式成員變數訪問次數的工具。[GPL3]
  • American fuzzy lop 又稱 afl-fuzz - 瘋狂的模糊測試工具,只需給它時間和最小示例輸入,就能自動發現錯誤。[Apache2]
  • Argon2 - 密碼雜湊演算法 Argon2,PHC 獲勝者。[CC0/Apache2]
  • AsmJit - 低延遲機器碼生成。[Zlib] website
  • Better String - C 字串庫的替代方案,功能更豐富且不會出現緩衝區溢位問題,並提供 C++ 封裝。[BSD, GPL2]
  • Boost.Signals2 - 託管式訊號與槽系統的實現。[Boost] website
  • casacore - 一組源自 aips++ 的 C++ 核心庫。[LGPL]
  • CCTZ - C++ 庫,可使用時區規則在絕對時間和民用時間之間轉換。[Apache-2.0]
  • Cheat Sheets of HackingCPP - 關於演算法、檢視、容器、隨機數等內容的實用速查表和資訊圖。
  • Concord - 使用 C 編寫的 Discord API 封裝庫。[MIT] website
  • CPPItertools - 受 Python 內建函式和 itertools 庫啟發的基於範圍 for 迴圈擴充套件。[BSD-2-Clause]
  • CPP-JWT - C++ JSON Web Token 庫。[MIT]
  • cpp-lazy - 快速易用的 C++11/14/17/20 惰性求值庫。[MIT]
  • CRCpp - 易用快速的 C++ CRC 庫。[BSD-3-Clause]
  • cxx-prettyprint - C++ 容器美化列印庫。[Boost]
  • date - 基於 C++11/14/17 標頭檔案的日期和時間庫。[MIT] website
  • D++ (DPP) - 用於建立 Discord 機器人的輕量、高效能、可擴充套件 C++ 庫。[Apache2] website
  • Dragonbox - C++ 新型浮點數轉字串演算法的參考實現。[Apache2/BSL-1.0]
  • DynaMix - 可在執行時組合和修改物件的庫。[MIT]
  • emio - 安全快速的高層和底層字元輸入/輸出庫。[MIT]
  • faker-cxx - C++20 Faker 庫,用於生成虛構但逼真的測試和開發資料。[MIT]
  • fast_float - 快速、精確的 C++ from_chars,速度比 strtod 快 4 到 10 倍,已用於 GCC 12、Chromium、Redis、Webkit/Safari。[Apache2/BSL-1.0/MIT]
  • FastFormat - 受 log4j 和 Pantheios 啟發的快速、安全 C++ 格式化庫。[Simplified BSD]
  • fast_io - 顯著加速 C++20 輸入/輸出。[MIT]
  • fccf - 命令列工具,可遞迴搜尋目錄並查詢與搜尋字串匹配的 C/C++ 原始碼。[MIT]
  • ffc.h - C99 單標頭檔案加速浮點數/雙精度數解析器,是 fast_float 庫的移植版。[Apache-2.0/BSL-1.0/MIT]
  • {fmt} :zap: - 小巧、安全、快速的 C++ 格式化庫。[Simplified BSD] website
  • gcc-poison - 簡單標頭檔案,幫助開發者禁止在應用中使用不安全的 C/C++ 函式。
  • Gear-Lib - 面向嵌入式和網路服務開發的一組 POSIX C 基礎庫。[MIT]
  • happly - C++ PLY 檔案格式解析器,僅標頭檔案實現。輕鬆解析 .ply![MIT]
  • hedley - C/C++ 標頭檔案,旨在消除一些平臺特定的麻煩。website
  • Hexi - 二進位制流和序列化用的輕量 C++ 僅標頭檔案庫。[Apache-2.0/MIT]
  • HighwayHash - 快速強健的雜湊函式:SipHash/HighwayHash。[Apache-2.0]
  • inja - 現代 C++ 模板引擎。[MIT]
  • Jinja2С++ - 幾乎完全相容的模板引擎實現。website
  • jwt-cpp - 用於在 C++ 中建立和驗證 JSON Web Token 的僅標頭檔案庫。[MIT]
  • Kangaru - 面向 C++11 和 C++14 的依賴注入容器。[MIT]
  • Klib - 常見演算法和資料結構的小型輕量實現。[MIT]
  • KOMIHASH - 極快、高品質的雜湊函式,支援離散增量和流式雜湊。[MIT]
  • libcpuid - 用於 x86 CPU 檢測和特性提取的小型 C 庫。[BSD]
  • libenvpp - 現代 C++ 庫,可型別安全地解析環境變數。[Apache-2.0]
  • libevil - 邪惡許可證管理器。[GPLv3]
  • libnih - 輕量級 C 函式和結構體庫。[GPL2.1]
  • libONVIF - 又一個 ONVIF 庫。[GPL-3.0]
  • libpopcnt - 快速 C/C++ 位群計數庫。[BSD-2-Clause]
  • libsigc++ - 標準 C++ 型別安全回撥系統。[LGPL] website
  • libusb - 通用 USB 庫,可移植地訪問 USB 裝置。[LGPL2]
  • Mach7 - C++ 模式匹配庫。[BSD]
  • minja.hpp - 面向 LLM 聊天模板的極簡 C++ Jinja 模板引擎。[MIT]
  • mio - 跨平臺 C++11 記憶體對映檔案 I/O 僅標頭檔案庫。[MIT]
  • MPark.Variant - 面向 C++11/14/17 的 C++17 std::variant。[BSL-1.0]
  • MPH - C++20 [Minimal] 靜態完美雜湊庫。[MIT]
  • Patternia - 為現代 C++ 提供模式匹配。[MIT] website
  • PEGTL - 解析表示式文法模板庫。[MIT]
  • Pipes - 用於編寫富有表現力的 C++ 集合處理管道。[MIT]
  • pprint - 現代 C++ 美化列印庫。[MIT]
  • pspsdk - PSP 自制軟體開發開源 SDK。[BSD/GNU GPL3]
  • QtVerbalExpressions - 基於 C++ VerbalExpressions 庫的 Qt 庫。[MIT]
  • rain - 速度最快的 128 位和 256 位非加密雜湊,透過所有測試,原始碼不足 140 行。[Apache-2.0]
  • RapidFuzz - 使用 Levenshtein 距離在 C++ 中快速進行模糊字串匹配。[MIT] website
  • rapidhash - 極快、高品質、平臺無關的雜湊演算法。[BSD-2-Clause]
  • Reaction - 利用現代 C++20 特性構建高效資料流應用的輕量級僅標頭檔案響應式程式設計框架。[MIT]
  • reproc - 跨平臺(C99/C++11)程序庫。[MIT]
  • SafetyHook - C++23 函式鉤子庫。[BSL-1.0]
  • scnlib - 面向現代 C++ 的 scanf。[Apache-2.0] website
  • Scintilla - 免費原始碼編輯元件。[MIT]
  • SDS - C 語言簡單動態字串庫。[BSD]
  • semver.c - ANSI C 語義化版本解析器和渲染器。[MIT]
  • sigslot - C++ 訊號/槽庫。[PublicDomain]
  • SIMD Everywhere - 為原生不支援 SIMD 指令集的系統提供其實現。[MIT]
  • SLJIT - 平臺無關的底層 JIT 編譯器。[BSD] website
  • palacaze/sigslot - 簡單的 C++14 訊號槽僅標頭檔案實現。[MIT]
  • simdzone - 快速且符合標準的 DNS 區域解析器。[BSD-3-Clause]
  • SimpleSignal - 高效能 C++11 訊號庫。[PublicDomain]
  • single_file_libs - 依賴極少的 C/C++ 開源庫。[Various]
  • Spicy - 用於解析協議和檔案的 C++ 解析器生成器。[BSD] website
  • Stage - 移動機器人模擬器。[GPL2]
  • stb :zap: - 一系列 C/C++ 單檔案庫。[PublicDomain]
  • stdman - 工具,可解析 cppreference 的歸檔 HTML 檔案,併為類 Unix 系統生成 groff 格式的手冊頁。[MIT]
  • StringZilla - 字串庫中的哥斯拉,拆分、排序和打亂大型文字資料集的速度快到你還沒來得及說出“東京塔”。[Apache-2.0]
  • StrTk - 包含高效能字串處理例程的 C++ 庫。[MIT]
  • tgbotxx - Telegram Bot C++ 庫。[MIT]
  • The RaBitQ Library - RaBitQ 演算法輕量級庫。[Apache-2.0] website
  • tiny::optional - std::optional 的替代品,不會造成不必要的記憶體浪費。[BSL-1.0]
  • Tulip Indicators - 包含 100 多種金融技術分析指標的 C 庫。[LGPL]
  • ub-canaries - 一組試圖誘使編譯器利用未定義行為的 C/C++ 程式。
  • value-category-cheatsheet 左值、右值等概念的 PDF 速查表。[Jank copyleft]
  • VarTypes - 功能豐富的物件導向框架,用於在 C++/Qt4 中管理變數。[LGPL]
  • Wildcards - 使用萬用字元匹配的簡單 C++ 模板僅標頭檔案庫。[BSL-1.0]
  • xjb - 快速浮點數轉字串演算法。[Apache-2.0]
  • xxHash - 極快的非加密雜湊演算法。[BSD-2-Clause] website
  • xxhash_cpp - xxhash 庫的 C++17 移植版。[BSD-2-Clause]
  • ZBar - 條形碼掃描庫,可掃描照片/影象/影片流中的條形碼並返回其值。[LGPL2]
  • ZXing - 使用 Java 實現的開源多格式一維/二維條碼影象處理庫,並移植到其他語言。[Apache]
  • spy - C++17 constexpr 庫,可在編譯期檢測作業系統、編譯器、架構和 SIMD。[MIT]
  • licensepp - C++ 專案軟體許可證管理庫。[Apache-2.0]
  • tinydir - 輕量、可移植且易於整合的 C 目錄和檔案讀取器。[BSD-2-Clause]
  • Cello - C 高階程式設計支援,包括泛型資料結構和多型。[BSD-2-Clause] website
  • dyno - 支援值語義執行時多型的 C++ 庫。[Boost]
  • PolyHook - C++ x86/x64 鉤子庫。[MIT]
  • Verdigris - 僅標頭檔案庫,無需 moc 即可使用 Qt。[MIT]
  • Flicks - Facebook/Oculus 定義的時間單位,可精確表示常見幀率。[BSD]
  • Linq - 為 C++ 列表推導提供 LINQ 語法。[Boost]
  • libcorrect - 卷積碼和 Reed-Solomon 糾錯 C 庫。[BSD-3-Clause]
  • libfsm - 用於構建和執行有限狀態機的庫,包括正規表示式和 glob。[BSD-2-Clause]
  • origin - 用於概念、診斷和其他基礎實用功能的 C++ 庫。

用於建立開發環境的軟體。

C 或 C++ 編譯器列表

  • 8cc - 小型 C 編譯器。
  • c - 一次性編譯並執行 C“指令碼”![MIT]
  • Clang - LLVM 的 C 編譯器。支援 C++11/14/1z、C11,由 LLVM 團隊開發。[NCSA]
  • Fil-C - 極致相容的 C 和 C++ 記憶體安全實現。
  • GCC - GNU 編譯器套件。支援 C++11/14/1z、C11 和 OpenMP。[GNU GPL3]
  • PCC - 非常古老的 C 編譯器,支援 C99。
  • AMD C++ Compiler - 由 AMD 開發。
  • Intel C++ Compiler - 由 Intel 開發。
  • LLVM - 模組化、可複用的編譯器和工具鏈技術集合。
  • Microsoft Visual C++ - Microsoft 開發的 MSVC。
  • Open WatCom - Watcom C、C++ 和 Fortran 交叉編譯器及工具。[Sybase Open Watcom Public License]
  • Oracle Solaris Studio - 面向 SPARC 和 x86 的 C、C++ 和 Fortran 編譯器,支援 C++11,可用於 Linux 和 Solaris。[OTN Developer License]
  • TCC - Tiny C 編譯器。[LGPL]
  • sierra - 面向 CISC、專注於建立易維護程式的程式語言。
  • movfuscator - 單指令 C 編譯器,可將程式編譯為僅包含 mov 指令。[MIT]

線上 C 或 C++ 編譯器列表

  • codechef - CodeChef 簡易線上編譯器。
  • coliru - 支援多種 C++ 編譯器的線上編譯器/命令列。
  • Compiler Explorer - 可檢視彙編輸出的互動式編譯器。
  • CompileOnline - 在 Linux 上線上編譯和執行 C++。
  • Ideone - 線上編譯器和除錯工具,可編譯原始碼並線上執行 60 多種程式語言。
  • OneCompiler - 支援 70 多種程式語言和資料庫系統的線上編譯器。
  • Programiz - 面向學習者和開發者的線上編譯器。
  • repl.it - 為教育者、學習者和開發者提供強大而簡單的工具與平臺。
  • Rextester - 線上編譯器,提供多種編譯器(Clang、GCC、MSVC)和編輯器。
  • Try It Online - TIO 是一系列線上直譯器,支援不斷擴充套件的實用和娛樂性程式語言。
  • Wandbox - 可使用 Boost 的線上 Clang/GCC 編譯器。
  • paiza.io - 線上 C/C++ 編譯器,支援多檔案、GitHub(gist)整合和協作編輯。
  • InterviewBit - 簡單易用的線上 C++ 編譯器。

C 或 C++ 偵錯程式列表

  • Comparison of debuggers - Wikipedia 上的偵錯程式列表。
  • GDB - GNU 偵錯程式。
  • LLDB - LLDB 偵錯程式。
  • Metashell - 互動式模板超程式設計 shell,包含 MDB 元偵錯程式。
  • Valgrind - 記憶體除錯、記憶體洩漏檢測和效能分析工具。
  • x64dbg - Windows 開源 x64/x32 偵錯程式。

C 或 C++ 常用 IDE 列表。

  • Anjuta DevStudio - GNOME IDE。[GPL3]
  • AppCode - 基於 JetBrains IntelliJ IDEA 平臺構建的 Objective-C、C、C++ 和 JavaScript 開發 IDE。
  • Cevelop - 基於 Eclipse CDT 並附帶額外外掛的跨平臺 C 和 C++ IDE。
  • CLion - JetBrains 推出的跨平臺 C 和 C++ IDE。
  • Code::Blocks - 免費的 C、C++ 和 Fortran IDE。
  • CodeLite - 另一款免費跨平臺 C 和 C++ IDE。[GPL2,外掛除外]
  • Dev-C++ - 可移植 C/C++/C++11 IDE。
  • Eclipse CDT - 基於 Eclipse 平臺的全功能 C 和 C++ IDE。
  • Embarcadero Dev-CPP - Dev-C++ 的一個分支,預裝新主題和現代編譯器。[GPLv2] website
  • Geany - 小巧、快速、跨平臺 IDE。[GPL]
  • IBM VisualAge - IBM 的一系列計算機整合開發環境。
  • Irony-mode - 由 libclang 驅動的 Emacs C/C++ 次要模式。
  • juCi++ - 整合 libclang 的跨平臺輕量級 C++ IDE。[MIT]
  • KDevelop - 免費開源 IDE。
  • Microsoft Visual Studio - Microsoft IDE。
  • Microsoft Visual Studio Code :zap: - Microsoft 開源 IDE。[MIT] website
  • NetBeans - 主要用於 Java 開發、也支援其他語言(尤其是 PHP、C/C++ 和 HTML5)的 IDE。
  • Qt Creator :zap: - Qt SDK 的一部分,是跨平臺 C++、JavaScript 和 QML IDE。[GPL3 with exceptions] website
  • rtags - 基於 clang、可與 Emacs 整合的 C/C++ 客戶端/伺服器索引器。
  • Xcode - 由 Apple 開發。
  • YouCompleteMe - Vim 的快速即時模糊搜尋程式碼補全引擎。
  • C Playground - Online C Programming IDE - 線上 C 程式設計 IDE,可線上編寫、編輯和執行程式碼。
  • awesome-cmake - 精選的 CMake 指令碼、模組和資源列表。
  • Bazel - Google 開發的快速、可擴充套件多語言構建系統。[Apache]
  • Bear - 為 clang 工具生成編譯資料庫的工具。[GPLv3]
  • Buck - Facebook 開發並使用的快速構建系統,鼓勵在包括 C++ 在內的多種平臺和語言上建立小型可複用模組。使用 Java 編寫。[Apache]
  • build2 - 用於開發和打包 C/C++ 專案的跨平臺構建、打包和依賴管理工具鏈。[MIT]
  • Ccache - 快速 C/C++ 編譯器快取。[GPLv3]
  • clib - C 語言包管理器。[MIT]
  • CMake - 跨平臺免費開源軟體,使用與編譯器無關的方法管理軟體構建過程。[BSD]
  • Cget - CMake 軟體包獲取工具。[Boost] website
  • Conan - 開源 C/C++ 包管理器。[MIT]
  • CPM - 基於 CMake 和 Git 的 C++ 包管理器。
  • FASTBuild - 高效能開源構建系統,支援高度可擴充套件編譯、快取和網路分發。
  • Hunter - 由 CMake 驅動的跨平臺 C++ 包管理器。[BSD-2]
  • MesonBuild - 開源構建系統,目標是極快,更重要的是儘可能易用。
  • Ninja - 注重速度的小型構建系統。
  • Sccache - 快速 C/C++ 編譯器快取,支援跨平臺和雲端儲存。
  • Scons - 使用 Python 指令碼配置的軟體構建工具。
  • Sconsolidator - Eclipse CDT 的 Scons 構建系統整合。
  • Spack - 靈活的包管理器,支援多個版本、配置、平臺和編譯器。[Apache-2.0/MIT]
  • SW - 跨平臺 C++(及其他語言)構建系統和包管理器,提供大量軟體包。[GPLv3]
  • tundra - 高效能程式碼構建系統,旨在為大型軟體專案提供儘可能快的增量構建時間。
  • tup - 基於檔案的構建系統,可在後臺監視檔案變更。
  • Premake - 使用 Lua 指令碼配置的工具,可為 Windows、Mac OS X 和 Linux 生成 Visual Studio、GNU Make、Xcode、Code::Blocks 等專案檔案。
  • Vcpkg - 面向 Windows、Linux 和 MacOS 的 C++ 庫管理器。[MIT]
  • waf - 基於 Python 的應用配置、編譯和安裝框架。[BSD] website
  • XMake - 基於 Lua 的 C/C++ 跨平臺構建工具,整合包管理器 xrepo。[Apache]
  • boost-cmake - Boost 庫的 CMake 模組。[BSD-3-Clause]
  • cmake-examples - 針對各種場景的實用 CMake 示例集合。[MIT]

透過程式碼分析提升質量、減少缺陷的工具列表

  • Cppcheck - C/C++ 程式碼靜態分析工具。原始碼
  • CppDepend - 透過分析和視覺化程式碼依賴、定義設計規則、執行影響分析以及比較不同版本,簡化複雜 C/C++ 程式碼庫的管理。
  • cpplint - 遵循 Google C++ 風格指南的 C++ 風格檢查器。
  • PVS-Studio - 用於檢測 C、C++ 和 C# 程式原始碼錯誤的工具。
  • cpp-dependencies - 檢查 C++ #include 依賴的工具(以 .dot 格式生成依賴圖)。[Apache]
  • include-what-you-use - 與 clang 配合使用、分析 C 和 C++ 原始檔包含項的工具。website
  • Infer - Java、C 和 Objective-C 靜態分析器。[BSD]
  • OCLint - 用於提升 C、C++ 和 Objective-C 程式碼質量並減少缺陷的靜態原始碼分析工具。原始碼
  • Clang Static Analyzer - 用於查詢 C、C++ 和 Objective-C 程式錯誤的原始碼分析工具。
  • Linticator - Eclipse CDT 對 Pc-/FlexeLint 的整合。
  • IKOS - 基於抽象解釋理論的 C/C++ 靜態分析器。[NOSA 1.3]
  • List of tools for static code analysis - Wikipedia 上的靜態程式碼分析工具列表。
  • OptView2 - 檢查 Clang 遺漏的最佳化。
  • Trunk - 用於檢查、測試、合併和監控程式碼的工具包。
  • CodeCompass - 面向大型 C/C++ 專案的開原始碼理解工具。[GPL-3.0]
  • CodeChecker - Clang Static Analyzer 和 Clang-Tidy 的分析工具、缺陷資料庫和檢視器擴充套件。[Apache-2.0]
  • Artistic Style - 用於格式化 C/C++/C#/Obj-C/Java 程式碼的工具,也稱 astyle。
  • ClangFormat - 用於格式化 C/C++/Obj-C 程式碼的工具。
  • Clang-Tidy - 基於 Clang 的 C++ 程式碼檢查工具。
  • EditorConfig - 幫助在不同編輯器和 IDE 之間保持一致的編碼風格。
  • Uncrustify - 程式碼美化工具。

用於提升 C++ 開發技能和知識的書籍、網站、文章等各類資源。

精彩的 C++ 相關文章。

精彩的 C 或 C++ 相關書籍。

  • CppCast - 第一個由 C++ 開發者為 C++ 開發者製作的播客。
  • CppChat -(有時)每週與社群嘉賓聊聊 C++ 世界動態。

精彩的 C 或 C++ 相關影片。

實用的 C 或 C++ 相關網站。

實用的 C 或 C++ 相關部落格。

實用程式碼、片段等合集

其他非常棒的列表

  • 此列表目前為空,但你可以透過提交合並請求來新增內容。
  • 如果你有意贊助此倉庫,請與我們聯絡。貴公司的名稱和標誌將在此顯著展示。

詳情請快速瀏覽貢獻指南。 感謝所有貢獻者,你們真棒!

如果您發現此處有已停止維護或不適合收錄的專案或連結,請提交 Pull Request 協助改進本文。謝謝!

Section titled “如果您發現此處有已停止維護或不適合收錄的專案或連結,請提交 Pull Request 協助改進本文。謝謝!”

HagiCode

HagiCode 是面向專案開發的 AI 編碼工作台:豐富、便利的介面互動讓規劃、Agent 執行與專案工作更容易上手和跟進,帶來更投入的開發體驗。

透過豐富、便利的介面互動,讓規劃、Agent 執行與專案工作更容易上手和跟進。

造訪 HagiCode閱讀文件
  • 智慧OpenSpec 工作流程將意圖轉化為從提案、設計、任務到交付的可執行路徑。
  • 高效多 Agent 並行推進研究、實作與審查,並支援多儲存庫變更與你熟悉的 Agent CLI。
  • 有趣豐富、便利的介面互動讓規劃、Agent 執行與專案工作更容易上手和跟進,帶來更投入的開發體驗。

下載 Windows 版

從 Microsoft Store 取得所有下載

讓想法化為交付成果。

HagiCode 是面向專案開發的 AI 編碼工作台:以 OpenSpec 工作流程規劃變更,多 Agent 並行執行,再由 Hero Scenario 讓進度一目了然,將想法化為交付成果。

智慧
OpenSpec 工作流程將意圖轉化為從提案到交付的可執行路徑。
高效
多 Agent 並行推進研究、實作與審查。
有趣
豐富、便利的介面互動,讓規劃、Agent 執行與專案工作更容易跟進。

要離開 Awesome Site 嗎?

您即將前往外部網站。我們無法控制其內容或隱私慣例。

目的地

繼續前往網站