命名空间
变体
操作

开源 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)。(文档
微型文件对话框 一个单一的 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