Цель данной страницы — создать исчерпывающий список библиотек C++ с открытым исходным кодом, чтобы при необходимости реализации определённой функциональности не приходилось тратить время на поиски в интернете (
DuckDuckGo
,
Google
,
Bing
и т.д.).
Если вы знаете библиотеку, которая может быть полезна другим, пожалуйста, добавьте ссылку на неё здесь. Нет никаких ограничений на то, что может быть включено, за исключением того, что
исходный код
библиотеки должен быть легко
доступен
для скачивания.
Страница предоставляется «как есть» — с надеждой на полезность, но без каких-либо гарантий. Здесь могут появляться устаревшие, вводящие в заблуждение или неправильные ссылки. Если вы заметили таковые, было бы замечательно, если бы вы исправили ошибку.
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Amplitude Audio SDK
|
Кроссплатформенный аудиодвижок, разработанный с учётом потребностей игр. (
Исходный код
)
|
Apache-2.0
|
cmake, vcpkg
|
|
Aquila
|
Кроссплатформенная библиотека DSP с открытым исходным кодом для C++11.
|
MIT
|
cmake
|
|
Aubio
|
Библиотека на C/Python для анализа аудио и музыки. (
Исходный код
)
|
GPL-3.0
|
make
|
|
audioFlux
|
Библиотека на C для анализа аудио и музыки, извлечения признаков.
|
MIT
|
|
|
Essentia
|
Библиотека и инструменты с открытым исходным кодом для анализа, описания и синтеза аудио и музыки (MIR) (
Исходный код
)
|
Affero GPLv3
|
|
|
FFTW
|
Библиотека для вычисления DFT (SSE/SSE2/AVX/Altivec/ARM Neon). (
Исходный код
)
|
GPL-2.0
|
cmake
|
|
FMOD
|
Простой в использовании кроссплатформенный аудиодвижок и инструмент для создания аудиоконтента для игр.
|
Бесплатно для некоммерческого/Коммерческого использования
|
cmake
|
|
KFR
|
Быстрый, современный, кроссплатформенный фреймворк DSP/DFT с открытым исходным кодом для C++17, поддерживает ресемплинг аудио, FIR/IIR фильтры, Biquad (SSE, AVX, AVX-512, ARM NEON). (
Исходный код
)
|
GPL-2.0
|
cmake
|
|
libsoundio
|
Библиотека на C для кроссплатформенного ввода и вывода аудио в реальном времени. (
Исходный код
)
|
MIT
|
cmake
|
|
Maximilian
|
Библиотека DSP для аудио и музыки на C++.
|
MIT
|
cmake
|
|
Miniaudio
|
Библиотека на C для воспроизведения и захвата аудио. (
Исходный код
)
|
Unlicense
|
одиночный исходный файл
|
|
ni-media
|
Библиотека на C++ для чтения и записи аудиофайлов.
|
MIT
|
cmake, vcpkg
|
|
OpenAL
|
Кроссплатформенный аудио API.
|
BSD/LGPL/Проприетарная
|
cmake
|
|
PortAudio
|
PortAudio — бесплатная, кроссплатформенная библиотека ввода-вывода аудио с открытым исходным кодом. (
Исходный код
)
|
MIT
|
cmake, vcpkg
|
|
rnnoise
|
Рекуррентная нейронная сеть для снижения шума в аудио.
|
BSD-3-Clause
|
make
|
|
SELA
|
S
impl
E
L
ossless
A
udio.
|
MIT
|
cmake
|
|
SoLoud
|
Простой, портируемый аудиодвижок для игр.
|
zlib
|
|
|
Soundtouch
|
SoundTouch — кроссплатформенная библиотека обработки аудио с открытым исходным кодом для изменения темпа, высоты тона и скорости воспроизведения аудиопотоков или аудиофайлов. (
Исходный код
)
|
LGPL-2.1
|
make
|
|
Tonic
|
Простой и эффективный синтез аудио на C++.
|
Unlicense
|
|
|
Verovio
|
Быстрая и легковесная библиотека для нотной гравировки. (
Исходный код
)
|
LGPL
|
cmake, qmake
|
|
Wav2Letter++
|
Быстрый инструментарий для распознавания речи, написанный полностью на C++ и использующий тензорную библиотеку ArrayFire и библиотеку машинного обучения flashlight для максимальной эффективности.
|
BSD License
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
ACE
|
Асинхронные сетевые технологии, демультиплексирование событий, обмен сообщениями (
Исходный код
) (
Документация
)
|
Пользовательская
|
make
|
|
Apache Thrift
|
Программный фреймворк Apache Thrift для масштабируемой кросс-языковой разработки сервисов объединяет программный стек с механизмом генерации кода для создания сервисов, которые эффективно и беспрепятственно работают между C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml и Delphi и другими языками. (
Исходный код
)
|
Apache-2.0
|
cmake, vcpkg
|
|
Boost.Asio
|
Асинхронные и синхронные сетевые операции, таймеры, последовательный ввод-вывод
|
BSL-1.0
|
|
|
Boost.Beast
|
Библиотека HTTP и WebSocket, построенная на основе Boost.Asio
|
BSL-1.0
|
|
|
Breep
|
Событийно-ориентированная высокоуровневая peer-to-peer библиотека, позволяющая пользователям напрямую отправлять и получать объекты.
|
Европейская Общественная Лицензия 1.1
|
cmake
|
|
brpc
|
Промышленный фреймворк RPC, используемый по всему Baidu, с 1,000,000+ экземпляров и тысячами видов сервисов. (
Исходный код
) (
Документация
)
|
Apache 2.0
|
cmake
|
|
C++ REST SDK
|
Асинхронный HTTP клиент и слушатель, асинхронный Stream, URI, JSON
|
MIT
|
cmake
|
|
cpp-httplib
|
Однofайловая кроссплатформенная HTTP/HTTPS библиотека на C++11 только с заголовочными файлами
|
MIT
|
header-only; cmake
|
|
cpp-netlib
|
Библиотека сетевых функций на C++
|
BSL-1.0
|
cmake
|
|
cppsimpleuri
|
Современный C++ парсер URI и запросов
|
MIT
|
cmake
|
|
cpr
|
Современная C++ библиотека для HTTP запросов
|
MIT
|
cmake
|
|
Crow
|
Микрофреймворк для веб-разработки на C++ (вдохновлён Python Flask)
|
BSD-3-Clause
|
header-only; cmake
|
|
curlpp
|
Обёртка C++ для libcURL (библиотеки CURL). (
Исходный код
)
|
|
cmake, vcpkg
|
|
DumaisLib
|
Различные утилиты, такие как WebServer, JSON, WebSocket сервер, REST фреймворк (библиотека для создания REST API в вашем c++ приложении)
|
MIT
|
make
|
|
EasyHttp
|
Кросс-платформенная HTTP-клиентская библиотека с фокусом на удобство использования и скорость, поддерживающая кэширование HTTP-ответов и многое другое.
|
MIT
|
cmake
|
|
eCAL
|
Высокопроизводительная библиотека межпроцессного взаимодействия
|
Apache 2.0
|
cmake
|
|
fineftp-server
|
Библиотека FTP-сервера для Windows и Unix
|
MIT
|
cmake
|
|
FPNN
|
F
ast
P
rogrammable
N
exus
N
etwork. Высокопроизводительная полностью асинхронная RPC сервисная платформа. Одновременно поддерживает HTTP, WebSocket, TCP и надежный UDP. Поддерживает разработку серверов со сверхвысокой нагрузкой, с соответствующими клиентскими SDK.
|
未知
|
make
|
|
gRPC
|
Современный высокопроизводительный фреймворк RPC с открытым исходным кодом, который может работать в любой среде. (
Исходный код
) (
Документация
)
|
Apache-2.0
|
bazel, cmake, vcpkg
|
|
gsoap
|
Инструментарий разработки на C/C++ для XML data bindings, быстрых WSDL/SOAP/XML веб-сервисов, WS-Security, JSON/XML-RPC RESTful сервисов
|
GPLv2
|
|
|
hmbdc
|
Легковесный и высокопроизводительный C++17 фреймворк/библиотека промежуточного ПО для публикации/подписки сообщений
|
|
header-only
|
|
HTTPP
|
Простой, готовый к промышленному использованию HTTP-сервер на C++14, построенный на базе Boost, и клиент, построенный на основе libcurl.
|
BSD 2-Clause "Simplified"
|
cmake, make
|
|
IXWebSocket
|
Открытая библиотека WebSocket + HTTP без зависимостей, поддерживает SSL и расширение WebSocket per message deflate.
|
BSD 3-Clause "New" or "Revised"
|
cmake, make
|
|
KCP
|
Быстрый и надежный ARQ протокол, который помогает приложениям снизить сетевую задержку.
|
MIT
|
cmake
|
|
libashttp
|
Асинхронная HTTP-клиентская библиотека
|
GNU Lesser General Public v3.0
|
|
|
libjson-rpc-cpp
|
Фреймворк, предоставляющий кроссплатформенную поддержку JSON-RPC (удаленный вызов процедур) для C++, полностью совместимый с JSON-RPC 2.0 & 1.0.
|
MIT
|
cmake, conan
|
|
libnavajo
|
C++ фреймворк, включающий быстрый многопоточный HTTP сервер, HTML5 Websockets, SSL, X509 и HTTP аутентификацию, сжатие, cookies и расширенное управление сессиями, IPv4 и IPv6 (CeCILL-C).
|
СОГЛАШЕНИЕ О ЛИЦЕНЗИИ НА БЕСПЛАТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ CeCILL-C
|
cmake
|
|
libtins
|
Библиотека для создания и перехвата сетевых пакетов (
Исходный код
) (
Документация
)
|
BSD-2
|
cmake, vcpkg
|
|
LiteNetLibPP
|
Легковесная надежная UDP библиотека для игр
|
MIT
|
cmake
|
|
mailio
|
Библиотека MIME и email
|
BSD 2-Clause "Simplified"
|
cmake
|
|
nanomsg
|
Быстрая очередь сообщений, преемник zeromq
|
|
|
|
netif
|
C++14 библиотека для получения сетевых адресов на Windows, Linux, macOS и FreeBSD.
|
BSD 3-Clause "New" или "Revised"
|
header-only; cmake
|
|
nghttp2
|
HTTP/2 C библиотека и инструменты (сервер, клиент, прокси и инструменты для тестирования производительности)
|
MIT
|
cmake, configure
|
|
ngrest
|
Быстрый и простой в использовании фреймворк для JSON RESTful веб-сервисов
|
Apache 2.0
|
cmake
|
|
nng
|
Быстрая система обмена сообщениями, преемник nanomsg
|
|
|
|
Oat++
|
Веб-фреймворк: реализация REST-API и запросов (
Исходный код
) (
Документация
)
|
Apache 2.0
|
cmake
|
|
omniORB
|
Самая быстрая, полная и портируемая реализация CORBA ORB на C++
|
|
|
|
OpenDDS
|
Реализация DDS (Data Distribution Service)
|
|
|
|
Paho MQTT
|
Современный C++ клиент для MQTT от Eclipse
|
|
cmake
|
|
paozhu
|
Веб-фреймворк на C++20 с поддержкой HTTP/2, ORM и WebSocket
|
MIT
|
cmake
|
|
PcapPlusPlus
|
Мультиплатформенный C++ фреймворк для сетевого сниффинга, анализа и создания пакетов. Предоставляет C++ обёртки для многих популярных движков обработки пакетов, таких как libpcap, Npcap, WinPcap, DPDK, AF_XDP и PF_RING. (
Исходный код
)
|
Unlicense
|
conan, homebrew, cmake, vcpkg
|
|
POCO
|
Сетевое взаимодействие: шифрование, HTTP; Zip-файлы (
Документация
)
|
|
|
|
rest_rpc
|
C++11, высокопроизводительный, кроссплатформенный и простой в использовании RPC-фреймворк.
|
MIT
|
cmake
|
|
restbed
|
Кроссплатформенная многофункциональная платформа, предоставляющая асинхронную RESTful функциональность (безопасная коммуникация по HTTP) для приложений на C++14.
|
Лицензия
|
cmake
|
|
restc-cpp
|
Доступ к JSON API из C++. HTTP клиент, нативная сериализация C++ классов в/из JSON, асинхронный ввод-вывод через корутины boost::asio. C++14.
|
MIT
|
cmake
|
|
restful_mapper
|
ORM для работы с RESTful JSON API в C++
|
|
cmake, make
|
|
seastar
|
Высокопроизводительный фреймворк для серверных приложений, основанный на C++14/C++17.
|
Apache 2.0
|
cmake, etc.
|
|
Silicon
|
Фреймворк Silicon для C++14: Быстрые и надежные веб-API
|
MIT
|
cmake
|
|
sockpp
|
Простая, современная библиотека сокетов на C++
|
BSD 3-Clause "New" или "Revised"
|
cmake
|
|
stream-client
|
Легковесный клиентский сокет/коннектор/пул сокетов/резолвер на основе Boost
|
Apache 2.0
|
header-only; cmake
|
|
tacopie
|
Библиотека TCP на C++11
|
MIT
|
cmake
|
|
TAO
|
CORBA
|
|
|
**Перевод:**
|
TAO
|
CORBA
|
|
|
**Примечание:** В данном фрагменте нет текста для перевода, так как:
- "TAO" и "CORBA" являются техническими терминами C++/CORBA и не переводятся
- Остальное содержание состоит из HTML-тегов и атрибутов, которые сохраняются без изменений
- Пустые теги `
` остаются без изменений
|
|
taox11
|
Реализация CORBA на основе C++11
|
MIT
|
|
|
Unicomm
|
Асинхронные сетевые технологии, высокоуровневая TCP-коммуникационная платформа
|
|
|
|
uvw
|
Обёртка для
libuv
(кроссплатформенный асинхронный ввод-вывод) на C++17
|
MIT
|
header-only; cmake
|
|
WNetWrap
|
Обёртка для WinInet на C++
|
MIT
|
|
|
wvstreams
|
Библиотека для сетевого программирования на C++, включающая UniConf и удобный API для D-Bus
|
GPL
|
|
|
zeromq
|
Быстрая очередь сообщений
|
|
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
AdaptiveCpp
|
Предоставляет компилятор и систему исполнения SYCL и параллельного STL C++ для оффлоадинга на CPU и GPU от NVIDIA, AMD, Intel
|
BSD-2-Clause
|
cmake
|
|
Asyncpp
|
Асинхронная C++ библиотека, предоставляющая различные операции для параллельного выполнения
|
MIT
|
cmake
|
|
BlockingCollection
|
Потокобезопасный класс C++11 для блокирующих очередей, стеков и приоритетных очередей с поддержкой множественных производителей и потребителей
|
GPL-3.0
|
только заголовочные файлы
|
|
Boost.Atomic
|
Предоставляет атомарные типы данных и операции над этими типами данных, а также ограничения упорядочения памяти, необходимые для координации нескольких потоков через атомарные переменные.
|
BSL-1.0
|
|
|
Boost.Compute
|
Библиотека для GPU/параллельных вычислений на C++, основанная на OpenCL.
|
BSL-1.0
|
cmake
|
|
Boost.Context
|
Библиотека C++11, предоставляющая абстракцию кооперативной многозадачности в рамках одного потока.
|
BSL-1.0
|
|
|
Boost.Interprocess
|
Упрощает использование механизмов межпроцессного взаимодействия и синхронизации и предлагает широкий их спектр: shared memory, memory-mapped files, semaphores, mutexes, condition variables and upgradable mutex types, named versions of the synchronization objects, file locking, message queues.
|
BSL-1.0
|
|
|
Boost.Lockfree
|
Предоставляет неблокирующие (также известные как lock-free) конкурентные структуры данных: очередь, стек и кольцевой буфер (spsc_queue).
|
BSL-1.0
|
|
|
Boost.MPI
|
Удобный для C++ интерфейс к стандартному
Message Passing Interface
|
BSL-1.0
|
|
|
Boost.Thread
|
Позволяет использовать несколько потоков выполнения с общими данными и предоставляет средства для синхронизации данных между потоками.
|
BSL-1.0
|
|
|
concurrencpp
|
Современная конкурентность для C++. Задачи, исполнители, таймеры и корутины C++20.
|
MIT
|
cmake
|
|
dispenso
|
Высокопроизводительная конкурентность для C++. parallel_for, Futures, конвейеры, таймеры, отложенные/периодические задачи и конкурентные структуры данных.
|
MIT
|
cmake
|
|
Highway
|
Предоставляет производительные, не зависящие от длины SIMD/векторные инструкции. Поддерживает: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER. (
Документация
)
|
Apache-2.0
|
cmake
|
|
HPX
|
Универсальная C++ runtime система для параллельных и распределенных приложений любого масштаба (
Документация
)
|
BSL-1.0
|
cmake, vcpkg
|
|
Intel TBB
|
Intel® TBB — это кроссплатформенная библиотека C++ для параллельного программирования с общей памятью и гетерогенных вычислений. Библиотека предоставляет: универсальные параллельные алгоритмы, конкурентные контейнеры, масштабируемый распределитель памяти, планировщик задач с воровством работы и низкоуровневые примитивы синхронизации. (
Исходный код
) (
Документация
)
|
Apache-2.0
или Коммерческая
|
cmake, make
|
|
KOKKOS
|
Модель программирования для написания производительных переносимых HPC приложений, использующая CUDA, HIP, SYCL, HPX, OpenMP и потоки C++ в качестве бэкендов (
Документация
)
|
Пользовательская
|
cmake, make
|
|
libopenmpi
|
Проект Open MPI представляет собой реализацию интерфейса передачи сообщений с открытым исходным кодом
|
3-clause BSD
|
|
|
libsimdpp
|
Переносимая низкоуровневая SIMD библиотека для C++ с нулевыми накладными расходами.
|
Boost
|
header-only; cmake
|
|
MPL
|
Удобный интерфейс для стандартного
Message Passing Interface
совместимый с C++-17
|
BSD 3-Clause "New" or "Revised"
|
header-only; cmake
|
|
MutexGear
|
Библиотека синхронизации только на мьютексах для C/C++: wheel, rwlock, maintlock, work queues
|
The MutexGear Library
|
configure, msvc, make
|
|
OpenMP
|
Спецификация API OpenMP для параллельного программирования
|
|
|
|
PoCL
|
Портативная переориентируемая реализация стандарта OpenCL с открытым исходным кодом (на основе LLVM). (
Исходный код
) (
Документация
)
|
MIT
|
cmake
|
|
RaftLib
|
C++17 потокоподобные конкурентные акторы, позволяющие выполнять параллельные вычисления по потоку данных
|
Apache-2.0
|
cmake
|
|
SObjectizer
|
Небольшая кроссплатформенная фреймворк для конкурентных и событийно-ориентированных приложений на C++, использующая акторную модель и модель издатель-подписчик.
|
BSD-3-Clause
|
cmake, vcpkg, conan
|
|
stdgpu
|
Эффективные STL-подобные структуры данных на GPU
|
Apache 2.0
|
cmake
|
|
subprocess
|
Кросс-платформенная библиотека C++17/20 для запуска подпроцессов
|
MIT
|
cmake, teaport
|
|
Taskflow
|
Параллельное программирование задач в современном C++
|
TASKFLOW MIT
|
cmake
|
|
task-thread-pool
|
Быстрый и легковесный пул потоков для C++11 и новее.
|
BSD-2-Clause или MIT или BSL-1.0
|
cmake, vcpkg, одиночный заголовок
|
|
ThreadPool
|
Простой легковесный пул потоков
|
BSD-3-Clause
|
header-only; cmake, make
|
|
thread_pool
|
Современный, быстрый, легковесный пул потоков
|
MIT
|
cmake
|
|
Thrust
|
STL-подобные параллельные алгоритмы и структуры данных поверх CUDA, TBB или OpenMP
|
Apache v2.0, Boost v1.0.
|
cmake
|
|
TimerAlarm
|
Таймеры и сигналы тревоги на основе потоков.
|
BSD-3-Clause
|
только заголовочные файлы; cmake, make
|
|
VexCL
|
Библиотека векторных выражений на C++ для OpenCL, CUDA, OpenMP
|
MIT
|
cmake
|
|
ViennaCL
|
Линейная алгебра и алгоритмы с бэкендами OpenMP, CUDA и OpenCL. (
Исходный код
) (
Документация
)
|
Пользовательская
|
cmake
|
|
Xenium
|
Библиотека на C++17, предоставляющая различные конкурентные структуры данных и схемы рекламации.
|
MIT
|
header-only; cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Argh!
|
Минималистичный обработчик аргументов.
|
BSD 3-Clause
|
header-only; cmake, vcpkg
|
|
argparse (hbristow)
|
Облегченный C++ класс для разбора аргументов командной строки с интерфейсом, аналогичным одноименному классу python.
|
BSD
|
|
|
argparse (morrisfranken)
|
Легковесная библиотека для элегантного разбора аргументов командной строки.
|
Apache 2
|
header-only; cmake
|
|
argparse (p-ranav)
|
Парсер аргументов командной строки для C++17
|
MIT
|
header-only; cmake, vcpkg
|
|
args
|
Простая библиотека парсера аргументов для C++.
|
MIT
|
header-only; cmake, conan, meson, vcpkg
|
|
Boost.Program_options
|
Библиотека позволяет получать параметры программы, то есть пары (имя, значение) от пользователя через стандартные методы, такие как командная строка, файл конфигурации и переменные окружения.
|
BSL-1.0
|
|
|
CLI11
|
Парсер командной строки для C++11, предоставляющий богатый набор функций с простым и интуитивно понятным интерфейсом.
|
BSD-3-Clause
|
header-only; cmake, meson, vcpkg
|
|
clipp
|
Мощный и выразительный парсинг аргументов для современного C++.
|
MIT
|
header-only; cmake, vcpkg
|
|
cmd_line_parser
|
Парсер командной строки для C++17.
|
MIT
|
header-only; cmake
|
|
cmdlime
|
Библиотека C++17 для разбора командной строки, предоставляющая лаконичный декларативный интерфейс с поддержкой подкоманд, валидаторов и возможностью выбора формата опций командной строки GNU, POSIX или X11.
|
MS-PL
|
cmake
|
|
cxxopts
|
Легковесный парсер аргументов командной строки для C++11/C++17, поддерживающий стандартный синтаксис GNU для опций.
|
MIT
|
header-only; bazel, cmake
|
|
fire-hpp
|
Создание полностью функциональных CLI с использованием сигнатур функций.
|
BSL-1.0
|
header-only; cmake
|
|
flags
|
Простой, расширяемый парсер аргументов для C++17.
|
Unlicense
|
header-only; cmake
|
|
gflags
|
Библиотека, реализующая обработку флагов командной строки. Включает встроенную поддержку стандартных типов, таких как строка, и возможность определения флагов в исходном файле, в котором они используются.
|
BSD
|
cmake
|
|
structopt
|
Разбор аргументов командной строки путем определения структуры.
|
MIT
|
header-only; cmake
|
|
tclap
|
Простая C++ шаблонная библиотека для разбора аргументов командной строки. Библиотека предоставляет простой, гибкий объектно-ориентированный интерфейс.
|
MIT
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
ArduinoJson
|
Библиотека JSON для C++98/11/14/17 для Arduino, IoT и встраиваемых систем на C++
|
MIT
|
cmake
|
|
Boost.JSON
|
Парсинг, сериализация и DOM JSON в C++11/17
|
BSL-1.0
|
|
|
cajun-jsonapi
|
C++ API для JSON с акцентом на интуитивно понятный, лаконичный интерфейс, максимально приближенный к стандартному C++.
|
|
make
|
|
DAW JSON Link
|
Библиотека C++17, предоставляющая статические привязки C++ с проверкой типов, позволяющая парсить непосредственно в пользовательские структуры данных без выделения памяти библиотекой, режимы push/pull, поддержку аллокаторов, constexpr
|
BSL 1.0
|
cmake
|
|
Glaze
|
Одна из самых быстрых библиотек JSON (C++23) с прямой сериализацией памяти. Также поддерживает BEVE и CSV.
|
MIT
|
cmake, conan, build2, vcpkg
|
|
jansson
|
Библиотека на C для кодирования, декодирования и манипуляции данными JSON с поддержкой UTF-8
|
MIT
|
cmake, make
|
|
jeayeson
|
Очень разумная C++14 JSON библиотека
|
BSD-3
|
header-only
|
|
jios
|
JSON потоки ввода-вывода
|
MIT
|
cmake
|
|
JOST
|
|
|
|
**Примечание:** В данном фрагменте HTML нет текста для перевода на русский язык. Единственный текстовый элемент "JOST" является названием проекта/программы и не подлежит переводу согласно требованиям (не переводить C++ специфические термины и текст внутри тегов). Все HTML теги и атрибуты сохранены в оригинальном виде.
|
json
|
JSON от Niels Lohmann для C++11 с интуитивным синтаксисом
|
MIT
|
header-only; bazel, cmake, meson
|
|
Jsonifier
|
Несколько классов C++20 для чрезвычайно быстрого парсинга/сериализации JSON
|
MIT
|
cmake
|
|
JSON Voorhees
|
Убийственный JSON для C++11 (
Документация
)
|
Apache-2.0
|
cmake
|
|
JSON++
|
|
|
|
**Примечание:** В данном фрагменте HTML нет текста для перевода, кроме названия "JSON++", которое является C++ специфическим термином и не подлежит переводу согласно вашим требованиям. Все HTML теги и атрибуты сохранены в оригинальном виде.
|
json11
|
Миниатюрная библиотека JSON для C++11, предоставляющая парсинг и сериализацию JSON.
|
MIT
|
cmake
|
|
JsonBox
|
Библиотека C++ для удобного и быстрого чтения и записи JSON.
|
MIT
|
cmake
|
|
jsoncons
|
Библиотека для JSON и JSON-подобных форматов данных, с поддержкой JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON.
|
Custom
|
header-only
|
|
jsoncpp
|
Библиотека, позволяющая манипулировать JSON-значениями, включая сериализацию и десериализацию, с сохранением комментариев.
|
MIT
|
cmake, conan, vcpkg
|
|
libjson
|
|
|
|
**Примечание:** В данном фрагменте HTML нет текста для перевода, кроме названия проекта "libjson", которое является техническим термином и не подлежит переводу согласно вашим требованиям. Весь остальной контент состоит из HTML-тегов, атрибутов и пустых элементов, которые должны оставаться без изменений.
|
minijson
|
C++ библиотека для парсинга и сериализации JSON без DOM и аллокаций памяти
|
Custom
|
cmake
|
|
Neyson
|
Легковесная библиотека JSON для C++11
|
BSD-3-Clause
|
cmake
|
|
nosjob
|
Библиотека на C++98 для генерации и обработки данных JSON
|
MIT
|
make
|
|
qjson
|
|
|
|
**Примечание:** В данном фрагменте HTML нет текста для перевода, кроме термина "qjson", который является названием библиотеки C++ и не подлежит переводу согласно требованиям. Весь HTML-код и атрибуты сохранены в оригинальном виде.
|
rapidjson
|
Быстрый парсер/генератор JSON для C++ с API в стиле SAX/DOM, поддерживает UTF-8/16/32, опционально использует SIMD. (
Документация
)
|
Пользовательская
|
только заголовочные файлы; cmake, vcpkg
|
|
simdjson
|
Парсинг гигабайтов JSON в секунду с использованием современных микроархитектур и параллелизации с помощью SIMD (
Документация
) (
Видео
)
|
Apache-2.0
|
cmake, vcpkg
|
|
struct_mapping
|
Осуществляет преобразование JSON в структуры C++ и обратно
|
MIT
|
cmake
|
|
swxJson
|
Наиболее удобная C++ JSON библиотека в настоящее время. Чтение и запись сложных структур на любом уровне всего одним вызовом функции. Производительность составляет примерно половину от RapidJSON.
|
MIT
|
make
|
|
ThorsSerializer
|
JSON/BSON/YAML Потоки ввода-вывода
|
MIT
|
make
|
|
ujson
|
µjson - это небольшая библиотека JSON для C++11 с поддержкой UTF-8
|
cmake
|
|
|
yyjson
|
Высокопроизводительная библиотека JSON, написанная на ANSI C
|
MIT
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Boost.Bimap
|
Библиотека двунаправленных отображений, которая предоставляет ассоциативные контейнеры, такие как
bimap<X,Y>
, в которых как
X
, так и
Y
могут использоваться в качестве ключа. (
Исходный код
)
|
BSL-1.0
|
|
|
Boost.Container
|
Библиотека, реализующая несколько известных контейнеров, включая контейнеры, подобные stdlib, а также рекурсивные контейнеры и новые полезные контейнеры:
flat_map
,
flat_set
,
flat_multimap
,
flat_multiset
,
stable_vector
,
static_vector
,
small_vector
,
devector
. (
Исходный код
)
|
BSL-1.0
|
только заголовочные файлы
|
|
Boost.Fusion
|
Библиотека для работы с гетерогенными коллекциями
кортежей
. Предоставляет набор контейнеров (
vector
,
list
,
set
и
map
), а также преобразованное представление их базовых данных, известное как
представления
." (
Исходник
)
|
BSL-1.0
|
|
|
Boost.Heap
|
Реализация
приоритетных очередей
с большей функциональностью и различными характеристиками производительности, чем в стандартной библиотеке. (
Исходный код
)
|
BSL-1.0
|
|
|
Boost.Pointer Container
|
Предоставляет контейнеры для хранения
объектов в динамической памяти
в исключительно безопасном режиме и с минимальными накладными расходами. (
Исходный код
)
|
BSL-1.0
|
|
|
Boost.Tuple
|
Реализует n-
tuple
до стандарта C++11 (фиксированная коллекция элементов) (
Исходный код
)
|
BSL-1.0
|
|
|
Boost.Variant
|
Реализует пред-C++17
variant
(безопасный, обобщенный, стековый размеченный
union
контейнер) (
Исходный код
)
|
BSL-1.0
|
|
|
C++ Allocators
|
Соответствующие стандартной библиотеке аллокаторы для статической памяти фиксированного размера и памяти на основе стека + другой соответствующий стандарту аллокатор, позволяющий пользовательское распределение границ
|
BSD-3-Clause
|
cmake, make
|
|
cpp-btree
|
Контейнеры B-дерева более эффективно используют кэш процессора:
btree_map
,
btree_set
,
btree_multimap
,
btree_multiset
. (
Исходный код
)
|
Apache-2.0
|
только заголовочные файлы; cmake
|
|
DataFrame
|
C++ DataFrame для статистического, финансового и машинного анализа — в современном C++ с использованием нативных типов и непрерывного хранения памяти
|
BSD-3-Clause
|
cmake, make, conan, vcpkg
|
|
eggs::variant
|
Eggs.Variant - это универсальная, типобезопасная, дискриминированная union для C++11/14/17. Особенно примечательна отличной поддержкой
constexpr
.
|
BSL-1.0
|
cmake
|
|
Frozen
|
C++14
constexpr
неизменяемые наборы, отображения и алгоритмы на основе идеального хеширования.
|
Apache-2.0
|
только заголовочные файлы; cmake
|
|
Immer
|
Библиотека персистентных и неизменяемых структур данных
|
Boost
|
cmake
|
|
plf::colony
|
Неупорядоченный контейнер "мешкообразного" типа, который превосходит
std::
контейнеры в сценариях с высокой модификацией, сохраняя при этом действительные указатели на неудалённые элементы независимо от вставок и удалений. Совместим с C++98/11/14/etc. Смотрите также
P0447
(
std::hive
). (
Исходный код
)
|
zlib
|
conan
build2
|
|
plf::list
|
Реализация
std::list
, которая жертвует возможностью слияния диапазонов в пользу кэш-дружественности, обеспечивая более быструю вставку, удаление и итерацию. Совместима с C++98/03/11/14/17/20/23/26/etc. (
Исходный код
) (
Документация
)
|
zlib
|
—
|
|
plf::reorderase
|
Расширение и оптимизация идиомы "swap-and-pop"/"move-and-pop" для контейнеров с произвольным доступом для повышения производительности удаления в random_access контейнерах, когда порядок после удаления не важен. Охватывает одиночные, диапазонные и
std::erase_if
-стиль удалений. Совместимо с C++98/11/14/etc. (
Исходный код
)
|
zlib
|
|
|
plf::queue
|
Контейнер-замена для
std::queue
с лучшей производительностью, чем
std::deque
и
std::list
в контексте очереди. Совместим с C++98/11/14/etc. (
Исходный код
)
|
zlib
|
|
|
plf::stack
|
Контейнер-замена для
std::stack
с лучшей производительностью, чем
std::vector
и
std::deque
в контексте стека. Совместим с C++98/11/14/etc. (
Исходный код
)
|
zlib
|
|
|
ring_span
|
Облегчённая реализация
ring_span
Артура О'Двайера, также известная как представление кольцевого буфера. Совместимо с C++98.
|
BSL-1.0
|
Только заголовочные файлы; cmake
|
|
strict_variant
|
Реализация variant, совместимая с realtime/embedded-системами (т.е. работает с
-fno-exceptions
/
-fno-rtti
), никогда не бывает пустой, предназначена для C++11. Быстрая, предотвращает множество нежелательных неявных преобразований.
|
BSL-1.0
|
cmake
|
|
tiny::optional
|
Замена для
std::optional
, которая позволяет использовать сторожевые значения для устранения накладных расходов на хранение в памяти.
|
BSL-1.0
|
cmake
|
|
Ygg
|
Интрузивная C++11 реализация высокопроизводительных контейнеров и структур данных, таких как
Красно-чёрное дерево
,
Интервальное дерево
и Интервальная карта.
|
MIT
|
header-only; cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Boost::MySQL
|
Библиотека клиента MySQL
|
BSL-1.0
|
|
|
cpp-redis
|
C++11 Легковесный клиент Redis: асинхронный, потокобезопасный, без зависимостей, конвейеризация, кроссплатформенный. (
Документация
)
|
MIT
|
cmake
|
|
DTL
|
Представляет ODBC record-sets как STL контейнер (
Исходники
) (
Документация
)
|
|
|
|
EasyQtSql
|
Легковесная библиотека на C++11 (на основе Qt) для быстрого и простого выполнения SQL-запросов
|
MIT
|
header-only; qmake
|
|
Galera
|
Galera Cluster — это библиотека синхронной мультимастерной репликации (Galera) и API Write Set Replication (WSREP) для MySQL/MariaDB (
Исходный код
)
|
GPLv2
|
cmake, scons
|
|
LevelDB
|
C++ библиотека, разработанная Google, которая обрабатывает хранилище данных Key-Value миллиардного масштаба. (
Документация
)
|
BSD-3
|
cmake
|
|
libpqxx
|
Коннектор C++ для PostgreSQL (
Исходный код
)
|
BSD-3
|
cmake, make
|
|
lmdb++
|
C++11 обёртка для библиотеки встроенной базы данных LMDB с B+ деревьями.
|
Unlicense
|
make
|
|
mongocxx
|
Официальная библиотека драйвера C++11 для MongoDB (
Документация
). Она предоставляет оптимизированные API для CRUD операций, индексирования и агрегации. Поддерживая BSON и обладая пулом соединений и механизмами аутентификации, она обеспечивает высокопроизводительные и масштабируемые решения для создания C++ приложений, использующих MongoDB.
|
Apache 2.0
|
cmake
|
|
mysql++
|
База данных MySQL и инструменты
|
|
|
|
nanodbc
|
Небольшая кроссплатформенная обёртка C++14 для нативного C ODBC API
|
MIT
|
cmake
|
|
ODB
|
Открытая, кроссплатформенная и кроссплатформенная система объектно-реляционного отображения (ORM) для C++. ODB поддерживает реляционные базы данных MySQL, SQLite, PostgreSQL, Oracle и Microsoft SQL Server, а также стандарты языка C++98/03 и C++11.
|
GPL2 и/или NCUEL
|
|
|
OTL
|
Библиотека баз данных на основе шаблонов C++ для Oracle DB, ODBC и DB2-CLI. (
Исходный код
)
|
|
|
|
Pgfe
|
API клиента PostgreSQL (FrontEnd) на современном C++
|
Zlib
|
cmake
|
|
QTL
|
Дружелюбная и легковесная C++ библиотека для работы с базами данных MySQL, SQLite и ODBC.
|
Apache-2.0
|
make
|
|
QUINCE
|
QU
ерии
IN
C
++
E
выражения (ORM+EDSL)
|
Boost
|
|
|
QxOrm
|
Библиотека
O
бъектно-
R
еляционного
M
аппинга (ORM) для C++/Qt, поддерживает большинство распространенных баз данных, сериализацию (JSON, бинарную, XML); автономный многопоточный HTTP веб-сервер
|
GPLv3 или Проприетарная
|
|
|
redis-cpp
|
Облегченная клиентская библиотека C++17 для выполнения команд Redis.
|
MIT
|
header-only; cmake
|
|
redis-plus-plus
|
Клиент Redis, написанный на C++ 11, поддерживающий Redis Sentinel, Redis Cluster, конвейерную обработку, транзакции, pubsub, пул соединений и интерфейс в стиле STL
|
Apache-2.0
|
cmake
|
|
SOCI
|
Библиотека для работы с базами данных на основе плагинов, которая встраивает SQL-запросы в обычный код C++; поддерживаемые бэкенды включают: DB2, Firebird, MySQL, ODBC (универсальный бэкенд), Oracle, PostgreSQL, SQLite3. (
Исходный код
) (
Документация
)
|
Boost
|
cmake
|
|
SQLAPI++
|
Промежуточное программное обеспечение C++ для работы с базами данных, поддерживающее множество SQL-систем: Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, SQLite, Informix, InterBase / Firebird, SQLBase, SQL Anywhere, ODBC, MariaDB. (
Исх. код
) (
Документация
)
|
Индивидуальная
|
make
|
|
SQLiteCPP
|
Простая и удобная в использовании оболочка C++ для SQLite3.
|
MIT
|
cmake, meson, vcpkg
|
|
SQLite ORM
|
Встроенный
Я
зык
П
редметно-
О
риентированной
С
пециализации (ЯПОС) для SQL, поддерживаемый SQLite, для современного C++.
|
AGPL-3.0, MIT
|
header-only; cmake, vcpkg
|
|
sqlpp11
|
Типобезопасный встроенный предметно-ориентированный язык для SQL-запросов и результатов в C++.
|
BSD-2
|
cmake
|
|
taoPQ
|
Легковесная клиентская библиотека C++17 для PostgreSQL
|
Boost
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Abseil
|
Открытая коллекция кода C++ библиотек от Google, предназначенная для расширения стандартной библиотеки C++. (
Документация
) (
Исходный код
)
|
Apache-2.0
|
cmake
|
|
Абстрактные интрузивные контейнеры
|
Более гибкие, чем
Boost.Intrusive
, но не совместимые со STL.
|
|
|
|
Au
|
Библиотека физических единиц измерения для C++14 без зависимостей, с акцентом на безопасность, доступность и производительность. (
Документация
)
|
Apache 2.0
|
header-only
|
|
BDE
|
Основные библиотеки среды разработки Bloomberg от Bloomberg L.P.
|
Apache
|
|
|
Better Enums
|
Рефлексивные перечисления (enum в строку, итерация и т.д.) с поддержкой constexpr.
|
BSD-2
|
header-only, cmake, make
|
|
bitfield.h
|
Структура для работы с битовыми полями, более портативная/гибкая, чем встроенная возможность языка.
|
|
|
|
Boost
|
Большая коллекция универсальных библиотек
|
BSL-1.0
|
|
|
CAF
|
The C++ Actor Framework (CAF) - это реализация модели акторов на C++11 с открытым исходным кодом, включающая легковесные и быстрые реализации акторов, сопоставление с образцом для сообщений, сетевое прозрачное взаимодействие и многое другое
|
BSD
|
|
|
Cinder
|
Сообществом разрабатываемая, бесплатная библиотека с открытым исходным кодом для профессионального творческого программирования на C++. (
Документация
) (
Исходный код
)
|
Modified BSD
|
cmake
|
|
CommonPP
|
Многоцелевая библиотека с сильным акцентом на получение метрик из проекта.
|
BSD
|
|
|
composite_op.h
|
Базовый интроспекция членов данных класса, громоздкая и часто не реентерабельная, но иногда полезная.
|
|
|
|
cpp-mmf
|
Библиотека C++98, инкапсулирующая файлы, отображаемые в память, для POSIX или Windows
|
|
|
|
cxxomfort
|
Бэкпорты функций C++ (C++11 в C++03 и предложения C++1y в C++11/C++03).
|
|
|
|
Dlib
|
Сетевое взаимодействие, потоки, графические интерфейсы, структуры данных, линейная алгебра, машинное обучение, парсинг XML и текста, численная оптимизация, байесовские сети и множество других задач
|
Boost
|
|
|
eventpp
|
Библиотека событий на C++ для колбэков, диспетчера событий и очереди событий. С eventpp вы можете легко реализовать механизм сигналов и слотов, паттерн издатель-подписчик или паттерн наблюдатель.
|
Apache 2.0
|
|
|
fcppt
|
Freundlich's C++ Toolkit (fcppt) — это набор библиотек, ориентированных на улучшение общего C++ кода за счёт предоставления лучших типов и использования функционального программирования.
|
|
|
|
Folly
|
Библиотека Facebook с открытым исходным кодом. Кросс-платформенная библиотека компонентов C++14, разработанная с учетом практичности и эффективности. (
Документация
)
|
Apache-2.0
|
cmake, vcpkg
|
|
GSL
|
Реализация библиотеки поддержки
G
uidelines
S
upport
L
ibrary для C++ Core Guidelines, рекомендованная Бьярном Страуструпом, Хербом Саттером и другими в
C++ Core Guidelines
|
MIT
|
cmake, vcpkg
|
|
gsl-lite
|
Версия библиотеки поддержки рекомендаций ISO C++ (GSL) для C++98, C++11 и более поздних версий
|
MIT
|
только заголовочные файлы
|
|
GUL14
|
Универсальная библиотека утилит для C++14 от
DESY
: Часто используемые служебные функции и типы, включая утилиты для работы со строками, статистические и численные функции, контейнеры, средства отладки и т.д. (
Исходный код
)
|
LGPL-2.1
|
meson, vcpkg
|
|
History
|
Современный C++17 Фреймворк Отмены/Повтора
|
Unlicense
|
|
|
hspp
|
Экспериментальная библиотека для внедрения стиля программирования Haskell в C++.
|
Apache-2.0
|
header-only
|
|
IP-DOS (tm)
|
IdeaFarm (tm) Piggyback Distributed Operating System: Универсальная среда программирования для языка C++.
|
Проприетарное открытое программное обеспечение
|
Open Watcom 2.0
|
|
JUCE
|
Обширный, зрелый, кроссплатформенный инструментарий C++
|
GPL
|
|
|
Kangaru
|
Контейнер для внедрения зависимостей для C++11 и C++14
|
MIT
|
|
|
Kerbal
|
Бэкпорты современных возможностей STL в предыдущие стандарты. Больше функций! Больше constexpr!
|
LGPL-3.0
|
header-only; cmake
|
|
libsourcey
|
Кросс-платформенная библиотека C++14 для высокоскоростных сетевых операций и кодирования медиа. HTTP, WebSockets, TURN, STUN, Symple и другие.
|
LGPL-2.1
|
cmake
|
|
LLNL/units
|
Библиотека C++ времени выполнения для работы с единицами измерения и преобразованиями между ними, а также с строковыми представлениями единиц и измерений
|
BSD 3-Clause "New" или "Revised"
|
cmake
|
|
Loki
|
Библиотека C++, содержащая гибкие реализации распространенных шаблонов проектирования и идиом.
|
MIT
|
make
|
|
match(it)
|
Легковесная библиотека для сопоставления с образцом для C++17 с API без макросов.
|
Apache-2.0
|
header-only
|
|
nonstd-lite
|
Список *-lite репозиториев (например,
span-lite
,
scope-lite
,
expected-lite
), содержащих реализации C++98/11 для некоторых предложенных или уже стандартизированных библиотечных типов C++17/20/23, таких как
std::span
,
std::expected
и др.).
|
BSL-1.0
|
header-only
|
|
nytl
|
Универсальная C++17 библиотека утилитарных шаблонов.
|
BSL-1.0
|
только заголовочные файлы
|
|
OnPosix
|
Библиотека C++, предоставляющая несколько абстракций (например, многопоточность, сетевое взаимодействие, логирование, межпроцессное взаимодействие и т.д.) на платформах POSIX.
|
|
|
|
Reason
|
XML, xpath, regex, threads, sockets, HTTP, SQL, date-time, streams, encoding and decoding, filesystem, compression
|
GPL
|
|
**Примечание:** В данном случае весь текст, требующий перевода, состоит только из слова "Reason", которое является названием продукта/библиотеки и не подлежит переводу. Остальной текст представляет собой технические термины (XML, xpath и т.д.) и лицензию (GPL), которые также сохраняются в оригинале согласно требованиям.
|
SaferCPlusPlus
|
Безопасные совместимые замены для небезопасных примитивов C++, включая указатели,
int
и
std::vector
.
|
Boost
|
|
|
Smart Enum
|
to_string
,
from_string
и другие функции для ваших перечислений.
|
BSL-1.0
|
cmake
|
|
units
|
Библиотека для анализа размерностей и преобразования единиц измерения во время компиляции, построенная на C++14 без зависимостей
|
MIT
|
header-only
|
|
yaal
|
Y
ещë
A
бстрактный
A
бстрактный
L
ой - алгоритмы, коллекции, вычисления произвольной точности, парсеры на основе грамматик generic-DSL и многое другое
|
CC BY-ND-NC 4.0
|
cmake
|
|
Yato
|
Современная кроссплатформенная библиотека на C++(14/17) в стиле STL и совместимая с STL, реализующая контейнеры, диапазоны, итераторы, признаки типов и другие инструменты; система акторов; типобезопасный интерфейс конфигурации.
|
Apache-2.0
|
cmake
|
|
yomm2
|
Открытые мультиметоды для C++17
|
Boost
|
|
|
zoolib
|
ZooLib - это многофункциональный C++ инструментарий.
|
MIT
|
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Brisk
|
Кроссплатформенный модульный GUI-фреймворк на C++20 с реактивными возможностями и масштабируемым, ускоренным на GPU рендерингом. (
Исходный код
), (
Документация
)
|
GPL2+/Proprietary
|
cmake, vcpkg
|
|
Dear ImGui
|
Легковесная GUI-библиотека для C++ с минимальными зависимостями, портативная, независимая от рендерера, оптимизированная для использования в приложениях с поддержкой 3D-конвейера.
|
MIT
|
vcpkg
|
|
FLTK
|
Кроссплатформенный GUI-тулкит на C++ (Linux, Windows, MacOS), предоставляющий современную GUI-функциональность и поддерживающий 3D-графику через OpenGL/GLUT. Разработан для компактности и модульности. Включает конструктор интерфейсов.
|
LGPL ver.2
|
|
|
nana
|
Кроссплатформенное GUI-программирование в современном стиле C++. (
Исходный код
), (
Документация
)
|
BSL-1.0
|
cmake, vcpkg
|
|
nanogui
|
Минималистичная кроссплатформенная библиотека виджетов для OpenGL 3.x и выше (
Документация
)
|
|
|
|
OWLNext
|
Современное обновление
OWL
для создания GUI-приложений на стандартном C++ в Windows
|
|
|
|
Slint
|
Декларативный GUI-тулкит для создания нативных пользовательских интерфейсов для десктопа, встроенных систем и микроконтроллеров. (
Исходный код
), (
Документация
)
|
GPL 3,
Royalty-free
, или Commercial
|
cmake
|
|
tiny file dialogs
|
Набор кроссплатформенных файловых диалогов на C/C++ (без инициализации, без основного цикла, 6 модальных вызовов функций)
|
|
header-only
|
|
U++
|
Кроссплатформенный (Windows, GNU/Linux, macOS) фреймворк для быстрой разработки приложений со встроенной IDE. Совместим с C++17. (
Документация
) (
Исходный код
)
|
BSD-3-Clause
|
make
|
|
WxWidgets
|
Бесплатный и открытый кроссплатформенный (Windows, GNU/Linux, macOS) C++ фреймворк для создания продвинутых GUI-приложений с использованием нативных элементов управления. (
Документация
)
|
Modified LGPL
|
cmake, make
|
|
xtd
|
Современный C++17/20 фреймворк для создания консольных, GUI и unit test приложений на Windows, macOS, Linux, iOS и Android. (
Исходный код
) (
Документация
)
|
MIT
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
bgfx
|
Мощная кроссплатформенная (Windows, Mac, Linux, iOS, Android, Web) 2D/3D графическая библиотека с поддержкой шейдеров и бэкендами рендеринга: DX, OpenGL, Metal, WebGL, Vulkan и др. (
Документация
)
|
BSD-2
|
make
|
|
cairomm
|
C++ обертка для
графической библиотеки cairo
, которая представляет собой 2D библиотеку с поддержкой множества выходных устройств: X Window, Quartz, Win32, буферы изображений, PostScript, PDF, SVG, OpenGL (экспериментально).
|
LGPL
|
|
|
dfpsr
|
2D, 3D и изометрический программный рендерер с набором инструментов для графического интерфейса, минимальными зависимостями, разработанный для длительного сопровождения и способный работать без драйверов 3D-ускорения
|
zlib
|
|
|
gegl
|
Ge
neric
G
raphics
L
ibrary (GEGL) — это фреймворк для обработки изображений на основе потока данных, обеспечивающий обработку с плавающей точкой и возможности неразрушающей обработки изображений. (
Исходный код
)
|
LGPL
|
|
|
io2d
|
Референсная реализация
P0267
, предлагаемого
2D графического API для ISO C++
|
BSL-1.0
|
cmake
|
|
nanovg
|
Сглаженная 2D векторная библиотека для рисования на C поверх OpenGL для пользовательских интерфейсов и визуализаций, с портами для DX11/Metal/bgfx.
|
zlib
|
|
|
nux
|
Набор инструментов OpenGL
|
LGPL v3
|
|
|
pangomm
|
Официальный C++ интерфейс для библиотеки
Pango
верстки шрифтов. (
Исходный код
)
|
LGPL v2.1
|
make
|
|
Skia
|
Открытая 2D-графическая библиотека, написанная на C++.
Skia Graphics Engine
используется в Google Chrome, Chrome OS, Mozilla Firefox, Android, LibreOffice, Flutter и др.
Skia
имеет несколько бэкендов: программная растеризация, вывод (PDF), OpenGL, SVG и др.
|
New BSD
|
|
|
TXLib
|
TX Library — это компактная 2D графическая библиотека для Win32, написанная на C++.
|
|
|
|
ULIS
|
Кроссплатформенная библиотека C++14 для общей цифровой обработки изображений, 2D программный растеризатор, неограниченные форматы изображений (
u8
,
u16
,
u32
,
float
,
double
), Пользовательская организация памяти с битовым порядком, Все режимы наложения пикселей Photoshop + 11 дополнительных режимов, Цветовые модели (RGB, HSL, HSV, CMYK, ...), Управляемые цветом конвейеры, Поддержка цветовых пространств (профили icm и независимые от устройства), Оптимизированные алгоритмы с многопоточностью, Оптимизированные алгоритмы с SIMD расширениями (SSE2), Пул изображений и кэши для оптимизаций, Хранение в памяти анимированных последовательностей изображений.
|
Пользовательская (бесплатная только для некоммерческого использования)
|
cmake
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
assimp
|
Загрузка 3D моделей
|
BSD-3
|
cmake, vcpkg
|
|
bgfx
|
Кросс-платформенная, независимая от графического API, рендеринговая библиотека в стиле "Bring Your Own Engine/Framework".
|
BSD-2
|
make, vcpkg
|
|
Diligent Engine
|
Современная кроссплатформенная низкоуровневая библиотека 3D графики.
|
Apache-2.0
|
cmake
|
|
Epoxy
|
Современная замена GLEW. Абстрагирует различия между некоторыми типами GL контекстов, что иногда делает её проще в использовании, чем GLEW. Используется проектом GTK+ с 2015 года.
|
MIT
|
meson, vcpkg
|
|
G3D
|
The G3D Innovation Engine — это полнофункциональный, открытый, кроссплатформенный (Windows, Linux, Mac OS) 3D игровой движок, написанный на C/C++. G3D используется в коммерческих играх, научных работах, симуляторах и университетских курсах. Он поддерживает аппаратный рендеринг в реальном времени и оффлайн, трассировку лучей, загрузку моделей, линейную алгебру и GP-вычисления на GPU. Поддерживает форматы 3DS, OBJ, MP4, PNG, JPG, MD3 и многие другие, включает нативный OpenGL GUI с поддержкой скинов. (
Исходный код
) (
Документация
)
|
BSD-2
|
|
|
GLAD
|
Настраиваемая, легковесная библиотека для загрузки функций OpenGL
|
|
|
|
GLEW
|
Загрузчик функций OpenGL (
Исходный код
)
|
EXTGL/BSD/MIT
|
make, vcpkg
|
|
GLFW
|
Менеджер окон OpenGL (
Исходный код
) (
Документация
)
|
zlib/libpng
|
cmake, vcpkg
|
|
GLM
|
The Open
GL
M
athematics (GLM) — это C++ библиотека математики для графического программного обеспечения, основанная на
GLSL
спецификации.
|
The Happy Bunny /
MIT
|
header-only; cmake, vcpkg
|
|
Godot
|
Полнофункциональный кроссплатформенный движок для 2D и 3D игр на C++17 с графическим редактором, написанным на самом движке, и языком сценариев, вдохновлённым Python.
|
MIT
|
scons
|
|
hlsl++
|
C++ математическая библиотека для рендеринга с использованием синтаксиса HLSL. Поддерживает SSE и NEON
|
MIT
|
header-only
|
|
Horde3D
|
Небольшой движок рендеринга 3D с открытым исходным кодом. Разрабатывается с целью создания графического движка, который предоставляет потрясающие визуальные эффекты, ожидаемые в играх следующего поколения, будучи легковесным и максимально чистым.
|
EPL
|
|
|
Irrlicht
|
Irrlicht Engine — это open-source движок реального времени для 3D, написанный на C++. Он кроссплатформенный, использует D3D, OpenGL и собственные программные рендереры.
|
zlib/libpng
|
make, vcpkg
|
|
klein
|
Библиотека проективной геометрической алгебры на C++11/14/17 с оптимизацией SSE для графики и анимации
|
MIT
|
cmake, vcpkg
|
|
Magnum
|
Легковесный и модульный графический middleware на C++11/C++14 для игр и визуализации данных (
Исходный код
)
|
Пользовательская
|
cmake
|
|
O3DE
|
O
pen-source
3D
E
ngine (бывший Amazon's Lumberyard) — это кроссплатформенный 3D-движок на C++ для создания AAA-игр, кинематографических 3D-миров и высокоточной симуляции. Включает физическую симуляцию, скриптовый движок, сетевые возможности и
многое другое
. (
Документация
)
|
Apache 2.0
|
cmake
|
|
Ogre3D
|
OGRE - это объектно-ориентированный графический движок рендеринга - многоцелевая библиотека визуализации, подходящая для научной визуализации, игр, симуляции, виртуальной реальности и других графических проектов. Она кроссплатформенная и очень надежная, с хорошей документацией.
|
MIT
|
cmake, vcpkg
|
|
Open CASCADE
|
SDK для приложений 3D CAD/CAM/CAE (
Исходный код
)
|
LGPL-2.1
|
cmake
|
|
OpenGL
|
3D язык, графика и SDK для разработки 3D приложений.
|
Khronos (MIT)
|
|
|
OpenSceneGraph
|
OpenSceneGraph - это высокопроизводительный инструментарий для 3D-графики с открытым исходным кодом, используемый разработчиками приложений в таких областях, как визуальное моделирование, игры, виртуальная реальность, научная визуализация и моделирование. (
Исходный код
) (
Документация
)
|
Пользовательская,
GNU LGPL
|
cmake, vcpkg
|
|
Visionaray
|
Шаблонная библиотека трассировки лучей на C++.
|
MIT
|
cmake
|
|
VTK
|
Visualization Toolkit (VTK) — это программное обеспечение с открытым исходным кодом для обработки и визуализации научных данных. Оно включает современные инструменты для 3D-рендеринга, набор виджетов для 3D-взаимодействия и расширенные возможности 2D-построения графиков.
|
BSD-3
|
cmake, vcpkg
|
|
Vulkan
|
Низкоуровневый API, который устраняет многие абстракции, присутствовавшие в графических API предыдущего поколения. Это отлично подходит для достижения максимальной производительности, но имеет побочный эффект в виде раскрытия большей сложности для разработчика. К счастью, существует несколько превосходных руководств, которые помогают преодолеть этот барьер и быстро начать продуктивную работу.
|
Khronos (MIT)
|
make, vcpkg
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Adobe/boost GIL
|
Высокоуровневая универсальная библиотека, ориентированная на алгоритмы для работы с 2D-изображениями. Очень ограниченные возможности ввода-вывода.
|
BSL-1.0
|
|
|
agge
|
Anti-Grain Evolution. 2D-графический движок для скорости и качества в C++
|
MIT
|
cmake
|
|
FreeImage
|
Открытая библиотека для разработчиков, желающих поддерживать популярные графические форматы изображений, такие как PNG, BMP, JPEG, TIFF и другие
|
GPLv2, GPLv3, FIPL
|
|
|
FreeImageRe
|
Форк открытой библиотеки FreeImage v3.18 для поддержки обновлений кодеков изображений и адаптации для удобного использования. Все оригинальные форматы и плагины сохранены.
|
GPLv2, GPLv3, FIPL
|
cmake
|
|
GraphicsMagick
|
Чтение, запись и манипуляция изображениями в более чем 88 основных форматах. Ответвлен от ImageMagick в 2002 году
|
Copyright
|
Mercurial
|
|
SAIL
|
Чтение и запись статических, анимированных, многостраничных изображений вместе с их метаданными и ICC-профилями. Возможности конвертации. Нацелена на простоту и скорость.
|
MIT
|
cmake
|
|
stb
|
Набор библиотек для разработки игр на C/C++, включающий загрузчик/записыватель/изменятель размера изображений, растризатор текста шрифтов, типобезопасные контейнеры, декодер ogg vorbis, компрессор DXT в реальном времени, генератор шума Перлина, лексер для предметно-ориентированных языков, быстрый sprintf и многое другое.
|
MIT,
Custom
|
header-only
|
|
ThorVG
|
Thor Vector Graphics — это легкая портативная библиотека для рисования векторных сцен и анимаций, включая SVG и Lottie. Может свободно использоваться на различных программных платформах и в приложениях для визуализации графического содержимого. (
Src
)
|
MIT
|
conan, meson, msys2, vcpkg
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Backward
|
Вывод красивых трассировок стека в стиле Python с цветами и фрагментами исходного кода, особенно при сбоях.
|
MIT
|
header-only; cmake, conan
|
|
Boost.Log
|
Кросс-платформенная библиотека логирования, простая в использовании, расширяемая и производительная.
|
BSL-1.0
|
|
|
clutchlog
|
Однозаголовочная система логирования, ориентированная на универсальную ОТЛАДКУ вместо хранения событий сервиса.
|
BSD
|
cmake
|
|
cpptrace
|
Простая, портативная и самодостаточная библиотека трассировки стека для C++11 и новее. Включает сигнально-безопасные трассировки стека, трассировки стека при исключениях, фрагменты исходного кода и т.д.
|
MIT
|
cmake, conan, vcpkg
|
|
glog
|
Библиотека логирования Google для C++98 на основе потоков в стиле C++
|
Лицензия
|
bazel, cmake, vcpkg
|
|
libassert
|
Полнофункциональная библиотека утверждений для C++, предоставляющая высококачественную диагностику при сбоях утверждений.
|
MIT
|
cmake, conan, vcpkg
|
|
Log4cplus
|
Кросс-платформенный API логирования для C++17 (созданный по образцу Java log4j API), обеспечивающий потокобезопасный, гибкий и произвольно детализированный контроль над управлением и конфигурацией логов.
|
BSD (двухпунктная) или Apache 2.0
|
Autotools, cmake, Visual Studio
|
|
Log4cpp
|
Библиотека классов C++ для гибкого логирования в файлы, syslog, IDSA и другие назначения.
|
LGPL
|
|
|
log4cxx
|
Apache log4cxx — это фреймворк логирования для C++, созданный по образцу Apache log4j. (
Исходный код
)
|
Apache
|
cmake
|
|
lwlog
|
Чрезвычайно быстрая синхронная и асинхронная библиотека логирования для C++17
|
MIT
|
cmake
|
|
Pantheios
|
Библиотека API диагностического логирования, предлагающая комбинацию типобезопасности, эффективности, универсальности и расширяемости
|
BSD-style
|
|
|
plog
|
Портативный и простой лог для C++ менее чем в 1000 строках кода
|
MPL-2.0
|
|
|
Quill
|
Кросс-платформенная, асинхронная библиотека логирования для C++14 с
низкой задержкой
|
MIT
|
cmake
|
|
spdlog
|
Очень быстрая библиотека логирования для C++
|
MIT
|
header-only; cmake, conan
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
alglib
|
ALGLIB — это кроссплатформенная (Windows/POSIX/Linux) библиотека для численного анализа и обработки данных. Возможности ALGLIB включают: анализ данных, оптимизацию и нелинейные решатели, интерполяцию, линейную алгебру и линейные решатели, БПФ и многое другое.
|
Бесплатная (GPL/Персональная/Академическая) и Коммерческая
|
|
|
ArrayFire
|
Кроссплатформенная (Windows/OSX/Linux) библиотека общего назначения для высокопроизводительных вычислений (CPU/GPU/OpenCL/CUDA/GPGPU) в параллельных вычислениях. Области применения ArrayFire: векторные алгоритмы, обработка изображений, компьютерное зрение, обработка сигналов, линейная алгебра, статистика и другие. (
Исходный код
)
|
Пользовательская
|
|
|
Boost.Math
|
Включает несколько компонентов в области математики: утилиты для работы с числами с плавающей запятой, математические константы, статистические распределения и функции, статистика, векторные функционалы - нормы, специальные функции, алгоритмы поиска корней и минимизации, полиномы и рациональные функции, интерполяция, квадратура и дифференцирование, фильтры, функции комплексных чисел, кватернионы, октонионы, утилиты для целых чисел (наибольший общий делитель и наименьшее общее кратное), ряды, рациональные числа и цепные дроби.
|
BSL-1.0
|
|
|
Boost.Random
|
Предоставляет различные генераторы и распределения для создания случайных чисел с полезными свойствами, такими как равномерное распределение.
|
BSL-1.0
|
|
|
Boost.SafeNumerics
|
C++14, гарантированно корректная целочисленная арифметика, прямая замена встроенных целочисленных типов.
|
BSL-1.0
|
только заголовки
|
|
cpp-measures
|
Библиотека C++11 для работы с физическими величинами
|
MPL-2.0
|
только заголовки
|
|
G+Smo
|
Кроссплатформенная библиотека для изогеометрического анализа (
Документация
)
|
MPL-2.0
|
cmake
|
|
GNU MP bignum C++ interface
|
Удобный интерфейс класса C++, предлагающий перегруженные функции и операторы.
GMP
— это свободная библиотека C для арифметики произвольной точности, работающая с целыми числами со знаком, рациональными числами и числами с плавающей запятой.
|
GNU LGPL v3 и GNU GPL v2
|
|
|
libmpdec++
|
Кроссплатформенная библиотека C (с обертками C++) для корректно округленной арифметики десятичных чисел с плавающей запятой произвольной точности.
|
BSD-2-Clause
|
make, nmake
|
|
NTL
|
Библиотека для работы в области теории чисел. NTL — это высокопроизводительная, переносимая библиотека C++, предоставляющая структуры данных и алгоритмы для работы со знаковыми целыми числами произвольной длины, а также для векторов, матриц и полиномов над целыми числами и над конечными полями.
|
LGPLv2.1+
|
|
|
PCGrand
|
PCG — это семейство простых, быстрых, эффективных по памяти и статистически хороших алгоритмов для генерации случайных чисел. В отличие от многих универсальных ГСЧ, их также сложно предсказать.
|
Apache
|
|
|
stats++
|
Продвинутое, комплексное статистическое программное обеспечение: сбор и предварительная обработка данных, статистика, машинное обучение и оптимизация, с открытым исходным кодом на C++.
|
|
|
|
StatsLib
|
Библиотека шаблонов статистических функций распределения.
|
Apache-2.0
|
только заголовки
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Armadillo
|
C++ библиотека шаблонов для линейной алгебры и научных вычислений с обертками для OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU и FFTW. Полезна для ML, распознавания образов, DSP, биоинформатики, статистики, финансов и т.д.
|
Apache 2.0
|
|
|
Blasw
|
C++11 обертка для BLAS и части LAPACK
|
BSD-3-Clause
|
header-only; cmake
|
|
Blaze
|
|
|
|
|
Blitz++
|
C++ библиотека шаблонных классов, предоставляющая высокопроизводительные плотные массивы и векторы, генераторы случайных чисел и малые векторы.
|
GPL-3.0, LGPL-3.0, Custom
|
cmake
|
|
Boost.uBLAS
|
C++ библиотека шаблонных классов, предоставляющая функциональность BLAS уровней 1, 2, 3 для плотных, упакованных и разреженных матриц. Использует шаблоны выражений.
|
BSL-1.0
|
|
|
C++ Matrix
|
Высокопроизводительная и точная (например, пограничные случаи) библиотека матричной математики с арифметическими операторами шаблонов выражений
|
BSD-3-Clause
|
cmake, make
|
|
DecompLib
|
C++11 библиотека для декомпозиции вектора в набор положительно определенных взвешенных базисных векторов.
|
MIT
|
header-only
|
|
Dlib - linear algebra tools
|
|
|
|
|
Eigen
|
C++ библиотека шаблонов для линейной алгебры: матрицы, векторы, численные решатели и связанные алгоритмы.
|
MPL2
|
cmake, conan
|
|
ETL
|
|
|
|
|
IT++
|
|
|
|
|
Matrix
|
Простая в использовании библиотека научных вычислений на C++ для Linux и Windows.
|
MIT
|
cmake
|
|
NumCpp
|
C++ библиотека шаблонов, реализующая NumPy из Python
|
MIT
|
header-only; cmake, vcpkg, conan
|
|
PETSc
|
Набор структур данных и процедур для параллельного решения научных приложений, моделируемых дифференциальными уравнениями в частных производных. Поддерживает MPI и GPU через CUDA или OpenCL, а также гибридные MPI-GPU.
|
|
|
|
Spectra
|
Sp
arse
E
igenvalue
C
omputation
T
oolkit as a
R
edesigned
A
RPACK - это библиотека C++ с открытым исходным кодом для задач на собственные значения большого масштаба, построенная поверх библиотеки линейной алгебры
Eigen
(также с открытым исходным кодом и header-only). (
Исходный код
)
|
MPL-2.0
|
header-only; cmake, vcpkg
|
|
Tense
|
Быстрая C++17 библиотека матриц и тензоров с шаблонами выражений
|
BSD-3-Clause
|
header-only; cmake
|
|
xtensor
|
C++ библиотека для численного анализа с многомерными массивами выражений.
|
BSD
|
|
|
Библиотека
|
Описание
|
Лицензия
|
Конфигурация
|
|
Boost.CallableTraits
|
Библиотека C++11/17 для инспекции и манипуляции всеми "вызываемыми" типами во время компиляции. Преемник Boost.FunctionTypes.
|
BSL-1.0
|
header-only
|
|
Boost.Hana
|
Новая библиотека метапрограммирования для работы как с типами, так и со значениями
|
BSL-1.0
|
|
|
Boost.Metaparse
|
Библиотека парсеров времени компиляции, производящая типы, значения и метафункции из строк времени компиляции
|
BSL-1.0
|
|
|
Boost.Mp11
|
Библиотека метапрограммирования C++11 для манипуляции структурами данных, содержащими типы, во время компиляции.
|
BSL-1.0
|
header-only
|
|
Boost.MPL
|
Оригинальная библиотека метапрограммирования, ориентированная на C++03, медленная
|
BSL-1.0
|
|
|
Boost.PFR
|
Библиотека C++14 для базовой рефлексии (без макросов): посещение членов пользовательского типа по индексу, потоковый ввод-вывод.
|
BSL-1.0
|
header-only
|
|
Boost.Proto
|
Библиотека для построения EDSL на основе шаблонов выражений
|
BSL-1.0
|
|
|
Brigand
|
Использует eager метафункции, оптимизирована для наилучшей производительности
|
|
|
|
CoMeta
|
Легковесная библиотека метапрограммирования C++14
|
|
header-only
|
|
Meta
|
Использует eager метафункции, золотая середина между metal и brigand по производительности
|
|
|
|
Metal
|
Использует eager метафункции, 100% SFINAE-friendly
|
|
|
|
refl-cpp
|
Современная библиотека рефлексии времени компиляции для C++ с поддержкой перегрузок, шаблонов, атрибутов и прокси
|
|
|
|
Refureku
|
Библиотека рефлексии времени выполнения и генерации кода для C++17
|
MIT
|
cmake
|
|
visit_struct
|
Минималистичная библиотека рефлексии, предоставляющая посетителей структур для C++11/14. Самодостаточна, 200-400 строк кода в зависимости от подсчета.
|
|
|