命名空間
變體
動作

開源 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 是一個小巧、快速且跨平台的影像解碼函式庫。
SDL Simple DirectMedia Layer 是一個用於輸入、音訊、繪圖等功能的跨平台函式庫。
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 一個實現了小型、快速、自包含、高可靠性、全功能 SQL 資料庫引擎的 C 函式庫。SQLite 是世界上使用最廣泛的資料庫引擎。(原始碼)(說明文件 公有領域 (Public Domain)

[編輯] 設定

函式庫 描述 授權 設定
libconfig
libconfini

[編輯] 環境

函式庫 描述 授權 設定
libXDGdirs

[編輯] 通訊

函式庫 描述 授權 設定
gsoap
KCP 一種快速且可靠的 ARQ 協定,可協助應用程式降低網路延遲。 MIT
libcurl
libmicrohttpd
libsagui
MQTT-C Github 網址 MIT
nanomsg 一個提供常見通訊模式的 Socket 函式庫;無相依性;跨平台。已被 nng 取代。 MIT/X11
UCX Unified Communication X (UCX) 為訊息傳遞 (MPI)、共享記憶體 (PGAS) 和 RPC/資料中心應用程式提供最佳化的通訊層。 BSD3
zeromq
libusb 一個提供 USB 裝置通用存取的便攜式 C 函式庫。

[編輯] 壓縮

函式庫 描述 授權 設定
bzip2
lz4
zlib

[編輯] 並行處理

函式庫 描述 授權 設定
ck
MutexGear 僅限 Mutex 的同步(wheel, rwlock, 工作佇列)。 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
English Deutsch 日本語 中文(简体) 中文(繁體)