名稱空間
變體
操作

開源 C 庫列表

來自 cppreference.com
< c‎ | 連結

本頁旨在建立一個全面的開源 C 庫列表,以便當需要實現特定功能時,無需浪費時間在網路上搜索(DuckDuckGoGoogleBing 等)。

如果您知道可能對他人有用的庫,請在此處新增連結。除庫的原始碼必須易於下載外,沒有其他限制。

本頁“按原樣”提供——希望能有所幫助,但不提供任何保證。此處可能出現過時、誤導或錯誤的連結。如果您發現其中之一,請修復該錯誤,這將非常有益。

目錄

[編輯] 包管理器

包管理器 描述
build2 一個開源(MIT 許可證)、跨平臺的構建工具鏈,旨在為 C/C++ 專案的開發和打包提供類似於 Rust Cargo 的便利性,同時在構建系統方面提供更深層次和更強的靈活性。
cget Cmake 包檢索。可用於下載和安裝 cmake 包。
cmodule 非侵入式 cmake 依賴管理。
conan 去中心化的開源(MIT 許可證)C/C++ 包管理器。
CPM.cmake 一個 cmake 指令碼,為 cmake 添加了依賴管理功能。它是一個圍繞 cmake 的 FetchContent 模組的輕量級封裝,增加了版本控制、快取、簡單的 API 等。
hunter 一個由 cmake 驅動的 C/C++ 專案跨平臺包管理器。
spack 一個用於超級計算機、Linux 和 macOS 的包管理器。它使安裝科學軟體變得容易。它不與特定語言繫結。
teaport 一個受 cocoapods 啟發的依賴管理器。
vcpkg 一個適用於 Windows、Linux 和 macOS 的 C/C++ 包管理器。
xmake 一個基於 Lua 的跨平臺 C/C++ 構建工具和包管理器。

[編輯]

[編輯] 作業系統

訪問控制
描述 許可證 配置
acl
apparmor
擴充套件屬性
描述 許可證 配置
attr

[編輯] 圖形使用者介面

描述 許可證 配置
IUP
Nuklear 一個單標頭檔案的 ANSI C 即時模式跨平臺 GUI 庫。(文件
lvgl 功能強大且易於使用的嵌入式 GUI 庫,具有許多小部件、高階視覺效果(不透明度、抗鋸齒、動畫)和低記憶體要求(16K RAM,64K Flash)。 (文件
tiny file dialogs 一個簡單的 C 跨平臺檔案(無初始化、無主迴圈、6 個模態函式呼叫)

[編輯] Gtk+ 控制元件

描述 許可證 配置
appmenu-gtk
ghex
goocanvas
gtkhotkey
gtk+
gtksourceview
gtkspell
gucharmap
webkitgtk

[編輯] Microsoft Excel

描述 許可證 配置
libxlsxwriter
xlsx_drone

[編輯] 音訊

CD
描述 許可證 配置
cdparanoia
編解碼器
描述 許可證 配置
aften
faad2
wavpack
基礎設施
描述 許可證 配置
alsa-lib
portaudio
語音合成
描述 許可證 配置
espeak
flite

[編輯] 影片

編解碼器
描述 許可證 配置
schroedinger
video4linux

[編輯] 檔案

描述 許可證 配置
gmime

[編輯] 數學

描述 許可證 配置
gsl GNU 科學庫 (GSL) 是一個用於 C 和 C++ 的數值庫 (原始碼) GPL make
整數多維插值
描述 許可證 配置
argyll
線性代數
描述 許可證 配置
atlas
blas
eigen
金融
描述 許可證 配置
ta-lib
FFT
描述 許可證 配置
fftw3
多精度
描述 許可證 配置
gmp
訊號處理
描述 許可證 配置
liquid-dsp
vsipl
vsipl++

[編輯] 圖形

描述 許可證 配置
allegro Allegro-5 是一個跨平臺的多媒體庫,主要用於影片遊戲和多媒體程式設計。
babl
Bgfx 一個跨平臺、與圖形 API 無關的“自帶引擎/框架”風格的渲染庫。 BSD 2
cairo
raylib 一個跨平臺 C99 遊戲開發庫,支援 OpenGL 硬體加速、完整的 3D 支援、骨骼動畫、著色器、字型、音訊、數學、GUI 等。(原始碼)(文件 Zlib cmake, make, vcpkg, zig
SAIL Squirrel Abstract Image Library (SAIL) 是一個小型、快速、跨平臺的影像解碼庫。
SDL Simple DirectMedia Layer (SDL) 是一個用於輸入、音訊、繪圖及更多功能的跨平臺庫。
SIGIL
Simple2d 一個小型、簡單、跨平臺的 SDL2/OpenGL 封裝,提供繪圖、媒體、視窗和輸入功能。 MIT

[編輯] 通用

描述 許可證 配置
libmixf

[編輯] 程序間通訊

描述 許可證 配置
dbus
dee
gdbus

[編輯] 資料庫

描述 許可證 配置
berkeley_db
libfmrt
libmongoc MongoDB 官方 C 驅動庫(文件)。它提供用於 CRUD 操作的最佳化 API、全面的功能支援(包括 BSON),並支援不同的身份驗證機制,從而能高效地將 MongoDB 功能整合到基於 C 的應用程式中。 Apache 2.0 CMake
lmdb
SQLite 一個 C 語言庫,實現了一個小型、快速、自包含、高可靠、功能齊全的 SQL 資料庫引擎。SQLite 是世界上使用最廣泛的資料庫引擎。(原始碼)(文件 公共領域

[編輯] 配置

描述 許可證 配置
libconfig
libconfini

[編輯] 環境

描述 許可證 配置
libXDGdirs

[編輯] 通訊

描述 許可證 配置
gsoap
KCP 一種快速可靠的 ARQ 協議,有助於應用程式減少網路延遲。 MIT
libcurl
libmicrohttpd
libsagui
MQTT-C Github URL MIT
nanomsg 一個提供通用通訊模式的套接字型檔;無依賴;跨平臺。已被 nng 取代。 MIT/X11
UCX 統一通訊 X (UCX) 為訊息傳遞 (MPI)、共享記憶體 (PGAS) 和 RPC/以資料為中心的應用程式提供了最佳化的通訊層。 BSD3
zeromq
libusb 一個可移植的 C 庫,提供對 USB 裝置的通用訪問。

[編輯] 壓縮

描述 許可證 配置
bzip2
lz4
zlib

[編輯] 併發

描述 許可證 配置
ck
MutexGear 僅互斥同步(輪子、讀寫鎖、工作佇列)。 MutexGear 庫

[編輯] 資料型別

描述 許可證 配置
bstrlib
datastd
str 另一個 C 語言字串庫。

[編輯] PDF

描述 許可證 配置
PDFio 一個用於讀寫 PDF 檔案的簡單 C 庫。 Apache-2.0 make

[編輯] XML

描述 許可證 配置
expat
gsoap

[編輯] 度量

描述 許可證 配置
edlib

[編輯] 面向物件程式設計

描述 許可證 配置
Cello
GObject

[編輯] Web 前端

描述 許可證 配置
cgit

[編輯] 除錯

描述 許可證 配置
dbg-macro 一些用於快速、粗糙除錯的宏,它們會列印並返回給定表示式的值,靈感來自 Rust 的 dbg!(...) 宏及其 C++ 變體。 MIT

[編輯] 另請參閱

C++ 文件,瞭解 非 ANSI/ISO 庫

[編輯] 外部連結

1.  C 單元測試框架列表 — 在維基百科
2.  精選的(很棒的)C 和 C++ 庫列表 — 在 GitHub
3.  C 開源遊戲和框架列表 — 在 GitHub.io