Namespaces
Variants

A list of open source C libraries

From cppreference.net
< c ‎ | links

Цель данной страницы — создать исчерпывающий список библиотек на языке C с открытым исходным кодом, чтобы при необходимости реализации определённой функциональности не приходилось тратить время на поиски в интернете ( DuckDuckGo , Google , Bing и т.д.).

Если вы знаете библиотеку, которая может быть полезна другим, пожалуйста, добавьте ссылку на неё здесь. Нет никаких ограничений на то, что может быть включено, за исключением того, что исходный код библиотеки должен быть легко доступен для загрузки.

Страница предоставляется «как есть» — с надеждой на полезность, но без каких-либо гарантий. Здесь могут появляться устаревшие, вводящие в заблуждение или неверные ссылки. Если вы заметили таковые, было бы замечательно, если бы вы исправили ошибку.

Содержание

Менеджеры пакетов

Менеджер пакетов Описание
build2 Открытый (MIT), кроссплатформенный инструмент сборки, который стремится приблизить удобство Rust Cargo для разработки и упаковки C/C++ проектов, обеспечивая при этом большую глубину и гибкость, особенно в системе сборки.
cget Получение пакетов Cmake. Может использоваться для загрузки и установки cmake пакетов.
cmodule Ненавязчивое управление зависимостями cmake.
conan Децентрализованный, открытый (MIT) менеджер пакетов для C/C++.
CPM.cmake Скрипт cmake, который добавляет возможности управления зависимостями в cmake. Построен как тонкая оболочка вокруг модуля FetchContent cmake, добавляющая контроль версий, кэширование, простой API и многое другое.
hunter Кроссплатформенный менеджер пакетов для C/C++ проектов на основе cmake.
spack Менеджер пакетов для суперкомпьютеров, Linux и macOS. Упрощает установку научного программного обеспечения. Не привязан к конкретному языку программирования.
teaport Менеджер зависимостей, вдохновленный cocoapods.
vcpkg Менеджер пакетов для C/C++ для Windows, Linux и macOS.
xmake Кроссплатформенный инструмент сборки и менеджер пакетов для C/C++ на основе Lua.

Библиотеки

Операционная система

Контроль доступа
Библиотека Описание Лицензия Конфигурация
acl
apparmor
Расширенные атрибуты
Библиотека Описание Лицензия Конфигурация
attr

Графический пользовательский интерфейс

Библиотека Описание Лицензия Конфигурация
IUP
Nuklear Однозаголовочная ANSI C библиотека GUI в режиме immediate mode для кроссплатформенной разработки. ( Документация )
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 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, библиотека рендеринга в стиле "Bring Your Own Engine/Framework". BSD 2
cairo
raylib Кроссплатформенная библиотека для разработки игр на C99 с аппаратным ускорением OpenGL, полной поддержкой 3D, скелетной анимацией, шейдерами, шрифтами, аудио, математикой, GUI и т.д. ( Исходный код ) ( Документация ) Zlib cmake, make, vcpkg, zig
SAIL S quirrel A bstract I mage L ibrary — это небольшая, быстрая и кроссплатформенная библиотека для декодирования изображений.
SDL S imple D irectMedia L ayer — это кроссплатформенная библиотека для ввода, аудио, отрисовки и многого другого.
SIGIL
Simple2d Небольшая, простая кроссплатформенная обёртка SDL2/OpenGL, предоставляющая возможности отрисовки, работы с медиа, создания окон и обработки ввода. MIT

Обобщённый

Библиотека Описание Лицензия Конфигурация
libmixf

Межпроцессное взаимодействие

Библиотека Описание Лицензия Конфигурация
dbus
dee
gdbus

Базы данных

Библиотека Описание Лицензия Конфигурация
berkeley_db
libfmrt
libmongoc Официальная библиотека драйвера C для MongoDB ( Документация ). Предлагает оптимизированные API для операций CRUD, полную поддержку функций (включая BSON ) и поддержку различных механизмов аутентификации, обеспечивая эффективную интеграцию функциональности MongoDB в приложения на основе C. Apache 2.0 CMake
lmdb
SQLite Библиотека на C, реализующая компактный, быстрый, автономный, высоконадежный и полнофункциональный механизм базы данных SQL. SQLite является наиболее используемым механизмом базы данных в мире. ( Исходный код ) ( Документация ) Public Domain

Конфигурация

Библиотека Описание Лицензия Конфигурация
libconfig
libconfini

Окружение

Библиотека Описание Лицензия Конфигурация
libXDGdirs

Коммуникации

Библиотека Описание Лицензия Конфигурация
gsoap
KCP Быстрый и надежный ARQ протокол, который помогает приложениям снизить сетевую задержку. MIT
libcurl
libmicrohttpd
libsagui
MQTT-C Github URL MIT
nanomsg Библиотека сокетов, предоставляющая общие шаблоны коммуникации; не имеет зависимостей; кроссплатформенная. Заменена на nng . MIT/X11
UCX Unified Communication X (UCX) предоставляет оптимизированный коммуникационный слой для приложений Message Passing (MPI), Shared Memory (PGAS) и RPC/data-centric. BSD3
zeromq
libusb Переносимая библиотека на C, предоставляющая универсальный доступ к USB-устройствам.

Сжатие

Библиотека Описание Лицензия Конфигурация
bzip2
lz4
zlib

Конкурентность

Библиотека Описание Лицензия Конфигурация
ck
MutexGear Синхронизация только с помощью мьютексов (колесо, rwlock, рабочие очереди). The MutexGear Library

Типы данных

Библиотека Описание Лицензия Конфигурация
bstrlib
datastd
str Еще одна библиотека строк для языка C.

PDF

Библиотека Описание Лицензия Конфигурация
PDFio Простая библиотека на C для чтения и записи PDF файлов. Apache-2.0 make

XML

Библиотека Описание Лицензия Конфигурация
expat
gsoap

Метрики

Библиотека Описание Лицензия Конфигурация
edlib

Объектно-ориентированное программирование

Библиотека Описание Лицензия Конфигурация
Cello
GObject

Веб-интерфейс

Библиотека Описание Лицензия Конфигурация
cgit

Отладка

Библиотека Описание Лицензия Конфигурация
dbg-macro Несколько макросов, которые выводят и возвращают значение заданного выражения для быстрой отладки, вдохновленные макросом Rust dbg ! ( ... ) и его C++ вариантом. MIT

Смотрите также

C++ documentation для Non-ANSI/ISO Libraries

Внешние ссылки

1. Список фреймворков для модульного тестирования на C — на Википедии
2. Кураторский список (потрясающих) библиотек на C и C++ — на GitHub
3. Список игр и фреймворков с открытым исходным кодом на C — на GitHub.io