命名空间
变体
操作

开源 C 库列表

来自 cppreference.cn
< c‎ | 链接

本页面的目的是创建一个全面的开源 C 库列表,以便当需要特定功能的实现时,无需浪费时间在网络上搜索(DuckDuckGo, Google, Bing 等)。

如果您知道可能对其他人有用的库,请在此处添加指向它的链接。对可以包含的内容没有限制,除了库的源代码必须容易获得下载。

本页面按“原样”提供 - 希望有用,但不作任何担保。过时、误导或错误的链接可能会出现在这里。如果您注意到其中之一,如果您能修复错误,那将是最好的。

目录

[编辑] 包管理器

包管理器 描述
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 一个 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.  精选的 (awesome) C 和 C++ 库列表 — 来自 GitHub
3.  C 开源游戏和框架列表 — 来自 GitHub.io