开源 C 库列表
来自 cppreference.com
此页面的目标是建立一个全面的开源 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)。(文档) | ||
微型文件对话框 | 一个单一的 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 Scientific Library (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 地址 | 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 语言的字符串库。 |
[编辑] 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 |