Потрясающий С++
Кураторский список замечательных фреймворков, библиотек, ресурсов и интересных вещей на C++ (или C). Вдохновлен потрясающими... вещами.
- Потрясающий С++
- Стандартные библиотеки
- Рамки
- Искусственный интеллект
- Асинхронный цикл событий
- Аудио
- Биология
- БитТоррент
- Химия
- интерфейс командной строки
- Сжатие
- Параллелизм
- Конфигурация
- Контейнеры
- Криптография
- CSV-файл
- База данных
- Визуализация данных
- Отлаживать
- Документация
- ЦСП
- Шрифт
- Игровой движок
- График
- графический интерфейс
- Графика
- Обработка изображений
- Интернационализация
- Межпроцессное взаимодействие
- JSON
- Ведение журнала
- Машинное обучение
- Математика
- Распределение памяти
- Мультимедиа
- сеть
- Офисный открытый XML
- PDF
- Физика
- Отражение
- Регулярное выражение
- Робототехника
- Научные вычисления
- Сценарии
- Сериализация
- Последовательный порт
- Сортировка
- Видео
- Виртуальные машины
- Платформа веб-приложений
- XML
- Ямл
- Разнообразный
- Программное обеспечение
- Компилятор
- Онлайн-компилятор
- Отладчик
- Интегрированная среда разработки
- Системы сборки
- Статический анализ кода
- Инструменты стиля кодирования
- Ресурсы
- API-дизайн
- Статьи
- Книги
- Стандарты кодирования
- Стиль кодирования
- Подкасты
- Переговоры
- Видео
- Веб-сайты
- Блоги
- Другие потрясающие проекты
- Другие потрясающие списки
- Вакансии
- Спонсоры
- Внесение вклада. Если вы видите здесь проект или ссылку, которые больше не поддерживаются или не подходят, отправьте запрос на улучшение этого документа. Спасибо!
Стандартные библиотеки
Стандартная библиотека C++, включая контейнеры STL, алгоритм STL, функционал STL и т. д.
- Стандартная библиотека C++ — набор классов и функций, написанных на базовом языке и являющихся частью самого стандарта C++ ISO.
- Стандартная библиотека шаблонов — Стандартная библиотека шаблонов (STL).
- Библиотека C POSIX — спецификация стандартной библиотеки C для систем POSIX.
- Комитет по стандартам ISO C++ — ISO/IEC JTC1/SC22/WG21 — Комитет по стандартам C++. веб-сайт
- Библиотека GNU C. Цель этого руководства — рассказать вам, как использовать возможности библиотеки GNU C.
Рамки
Общие фреймворки и библиотеки C++.
- abseil-cpp — Общие библиотеки Abseil C++. [Апач2]
- Стандартная библиотека Apache C++ — STDCXX. Коллекция алгоритмов, контейнеров, итераторов и других фундаментальных компонентов. [в отставке] [Apache2]
- APR — портативная среда выполнения Apache. Еще одна библиотека кроссплатформенных служебных функций. [Апач2]
- ASL — Adobe Source Libraries предоставляет проверенные и переносимые исходные библиотеки C++. [МИТ]
- Boost ⚡ — Большая коллекция универсальных библиотек C++. [Повышение] веб-сайт
- BDE — среда разработки BDE от Bloomberg Labs. [Апач2]
- Рабочий процесс C++ ⚡ — Механизм параллельных вычислений и асинхронных сетевых вычислений C++. [Апач2]
- CGraph — кроссплатформенная среда DAG, основанная на C++, без использования сторонних разработчиков. [МИТ]
- Cinder — разработанная сообществом бесплатная библиотека с открытым исходным кодом для творческого кодирования профессионального качества. [БСД]
- Coost — крошечная библиотека повышения на C++11. [МИТ]
- Cxxomfort — небольшая библиотека только для заголовков, которая поддерживает различные возможности от более поздних стандартов C++ до C++03 и более поздних версий. [МИТ]
- Dlib ⚡ — набор инструментов для создания реальных приложений машинного обучения и анализа данных на C++. [Повышение] веб-сайт
- EASTL — Библиотека стандартных шаблонов электронного искусства. [БСД]
- ETL — встроенная библиотека шаблонов. [МИТ]
- ffead-cpp — платформа для разработки корпоративных приложений. [Апач2]
- Folly — библиотека C++ с открытым исходным кодом, разработанная и используемая в Facebook. [Апач2]
- FunctionalPlus — библиотека функционального программирования для C++. Пишите краткий и читаемый код на C++. [МИТ]
- GLib — GLib предоставляет основные строительные блоки для библиотек и приложений, написанных на C. [LGPL]
- itlib — коллекция std-подобных библиотек C++ с одним заголовком [MIT]
- JUCE — всеобъемлющая библиотека классов C++ для разработки кроссплатформенного программного обеспечения. [Основной модуль: ISC, остальные: GPL2/GPL3/собственная] веб-сайт
- Платформа Kigs — бесплатная модульная многоцелевая кроссплатформенная среда RAD на C++ с открытым исходным кодом. сайт [MIT]
- libPhenom — libPhenom — это платформа событий для создания высокопроизводительных и масштабируемых систем на C. [Apache2]
- LibSourcey — событийный ввод-вывод C++11 для потоковой передачи видео в реальном времени и высокопроизводительных сетевых приложений. [LGPL]
- LibU — многоплатформенная служебная библиотека, написанная на C. [BSD]
- libxutils — простая и в то же время мощная кроссплатформенная библиотека C, предоставляющая структуры данных, алгоритмы и многое другое. [МИТ]
- Loki — библиотека проектов C++, содержащая гибкие реализации общих шаблонов проектирования и идиом. [МИТ]
- MiLi — библиотека C++ с минимальными заголовками. [Способствовать росту]
- OpenFrameworks — кроссплатформенный набор инструментов с открытым исходным кодом для творческого программирования на C++. сайт [MIT]
- Qt ⚡ — кроссплатформенное приложение и фреймворк пользовательского интерфейса. [GPL/LGPL/собственный] веб-сайт
- Причина — кросс-платформенная платформа, призванная облегчить использование Java, .Net или Python разработчикам, которым требуется производительность и мощь C++. [GPL2]
- ROOT — набор объектно-ориентированных инфраструктур со всей функциональностью, необходимой для очень эффективной обработки и анализа больших объемов данных. Используется в ЦЕРН. [LGPL]
- rpp — минимальная замена STL C++20 в стиле Rust. [МИТ]
- SaneCppLibraries — набор библиотек абстракции платформы C++ для macOS, Windows и Linux. сайт [MIT]
- Seastar — продвинутая платформа C++ с открытым исходным кодом для высокопроизводительных серверных приложений на современном оборудовании. [Лицензия Apache-2.0] seastar.io
- STLport — образцовая версия STL. [Бесплатно]
- STXXL — стандартная библиотека шаблонов для очень больших наборов данных. [Способствовать росту]
- tbox — многоплатформенная библиотека C, подобная glib. [Apache2] веб-сайт
- Ultimate++ — кроссплатформенная среда быстрой разработки приложений на C++. [БСД]
- Библиотека шаблонов Windows — библиотека C++ для разработки приложений Windows и компонентов пользовательского интерфейса. [Общедоступный]
- Yomm2 — быстрые, ортогональные, открытые мультиметоды. Заменяет Yomm11 [Усиление]
Искусственный интеллект
- ANNetGPGPU — библиотека искусственных нейронных сетей на базе графического процессора (CUDA). [LGPL]
- btsk — Стартовый набор «Дерево поведения игры». [злиб]
- Развивающиеся объекты — основанная на шаблонах библиотека эволюционных вычислений ANSI-C++, которая помогает вам безумно быстро писать собственные алгоритмы стохастической оптимизации. [LGPL]
- frugally-deep — библиотека только для заголовков для использования моделей Keras в C++. [МИТ]
- Genann — Простая библиотека нейронных сетей на C. [zlib]
- MXNet — легкое, портативное, гибкое распределенное/мобильное глубокое обучение с динамическим планировщиком потоков данных с учетом изменений; для Python, R, Julia, Scala, Go, JavaScript и других. веб-сайт
- PyTorch — тензоры и динамические нейронные сети на Python с сильным ускорением графического процессора. веб-сайт
- фонарик. Фонарик — это быстрая и гибкая библиотека машинного обучения, полностью написанная на C++. [БСД]
- Recast/Detour — (3D) Генератор навигационной сетки и поиск пути, в основном для игр. [злиб]
- TensorFlow — библиотека программного обеспечения с открытым исходным кодом для численных вычислений с использованием графов потоков данных. [Апач]
- oneDNN — кроссплатформенная библиотека производительности с открытым исходным кодом для приложений глубокого обучения. [Apache] веб-сайт
- CNTK — Microsoft Cognitive Toolkit (CNTK), набор инструментов для глубокого обучения с открытым исходным кодом. [Способствовать росту]
- tiny-dnn — платформа глубокого обучения без зависимостей, только заголовок, на C++11. [БСД]
- Велес — Распределенная платформа для быстрой разработки приложений глубокого обучения. [Апач]
- Kaldi — Инструментарий для распознавания речи. [Апач]
Асинхронный цикл событий
- Asio — кроссплатформенная библиотека C++ для сетевого и низкоуровневого программирования ввода-вывода, которая предоставляет разработчикам согласованную асинхронную модель с использованием современного подхода C++. [Повышение] веб-сайт
- Boost.Asio — кроссплатформенная библиотека C++ для сетевого и низкоуровневого программирования ввода-вывода. [Повышение] веб-сайт
- C++ Actor Framework — реализация модели актеров на C++ с открытым исходным кодом. Веб-сайт [BSD-3-пункт]
- Ichor — очередь событий, которая фокусируется на безопасности потоков и обеспечивает внедрение зависимостей. [МИТ]
- libev — полнофункциональный и высокопроизводительный цикл событий, в общих чертах смоделированный по образцу libevent, но без его ограничений и ошибок. [BSD и GPL]
- libevent — библиотека уведомлений о событиях. [БСД]
- libhv — кроссплатформенная библиотека циклов событий. [БСД]
- libuv — кроссплатформенный асинхронный ввод-вывод. [БСД]
- Promise-cpp — библиотека только для заголовков, реализующая стандарт Promise/A+. [Анти-996]
- uvw — оболочка C++ для libuv. [МИТ]
- uv-cpp — простой интерфейс, высокопроизводительная сетевая библиотека на базе C++11. [МИТ]
Аудио
Аудио, звук, музыка, цифровые голосовые библиотеки
- Amplitude Audio SDK — кроссплатформенный звуковой движок, разработанный с учетом потребностей игр. Веб-сайт [Apache-2.0]
- Aubio — библиотека для анализа аудио и музыки. Веб-сайт [GPL-3.0]
- AudioFile — простая библиотека C++ для чтения и записи аудиофайлов. [МИТ]
- audioFlux — библиотека AC для анализа аудио и музыки, извлечения функций. [МИТ]
- dr_libs — библиотеки декодирования однофайлового звука для C и C++. [Без лицензии]
- FMOD — простой в использовании кроссплатформенный звуковой движок и инструмент создания аудиоконтента для игр. [Бесплатно для некоммерческой/коммерческой деятельности]
- KFR — быстрая, современная платформа C++ DSP, БПФ, КИХ/БИХ-фильтры, преобразование частоты дискретизации. [GPL/собственная лицензия]
- LAME - LAME — это высококачественный кодер MPEG Audio Layer III (MP3). [LGPL]
- libsndfile — библиотека C с оболочкой C++ для чтения и записи файлов, содержащих сэмплы звука, через один стандартный интерфейс библиотеки. [LGPL-2.1] веб-сайт
- libsoundio — библиотека C для кроссплатформенного ввода и вывода звука в реальном времени. сайт [MIT]
- Максимилиан — Библиотека DSP аудио и музыки C++. [МИТ]
- OpenAL — Открытая аудиобиблиотека — Кроссплатформенный аудио API. [BSD/LGPL/собственная]
- miniaudio — библиотека воспроизведения и захвата звука в одном файле. [Нелицензионный] сайт
- ni-media — библиотека C++ для чтения и записи аудиофайлов. [МИТ]
- Opus — полностью открытый, бесплатный и универсальный аудиокодек. [БСД]
- PortAudio — PortAudio — бесплатная кроссплатформенная библиотека аудио ввода-вывода с открытым исходным кодом. [МИТ]
- rnnoise — Рекуррентная нейронная сеть для снижения звукового шума. [BSD-3-пункт]
- SELA — простое аудио без потерь. [МИТ]
- SoLoud — простой портативный звуковой движок для игр. [злиб]
- Speex — бесплатный кодек для свободы речи. Устарело Опусом. [БСД]
- Tonic — простой и эффективный синтез звука на C++. [Без лицензии]
- Vorbis — Ogg Vorbis — это полностью открытый, непатентованный, не требующий патентов и лицензионных отчислений формат сжатого аудио общего назначения. [БСД]
- minimp3 — общественное достояние, декодер MP3 только для заголовков с реализацией в «чистой комнате». [CC0]
- Verovio — Verovio — быстрая и легкая библиотека для гравировки нот. [LGPL] веб-сайт
- Wav2Letter++ — общедоступный набор инструментов для быстрой обработки речи с открытым исходным кодом, полностью написанный на C++ и использующий тензорную библиотеку ArrayFire и библиотеку машинного обучения фонарика для максимальной эффективности. [БСД]
Биология
Биоинформатика, Геномика, Биотехнологии
- BioC++ — вычислительные библиотеки C++ для биоинформатики. [БСД]
- Chaste — библиотека C++ с открытым исходным кодом для компьютерного моделирования математических моделей, разработанных для физиологии и биологии. [БСД]
- libsequence — библиотека C++ для представления и анализа данных популяционной генетики. [GPL]
- SeqAn — Алгоритмы и структуры данных для анализа последовательностей с акцентом на биологические данные. [BSD/3-пункт]
- Vcflib — библиотека C++ для анализа и управления файлами VCF. [МИТ]
- Wham — Структурные варианты (SV) в геномах путем прямого применения ассоциативных тестов к файлам BAM. [МИТ]
БитТоррент
- jech/dht — библиотека BitTorrent DHT на C. [MIT]
- libtorrent (также известный как libtorrent-rasterbar) — эффективная функция, полная реализация BitTorrent на C++. [БСД]
- LibTorrent (он же libtorrent-rakshasa) — библиотека BitTorrent. [GPL]
- libutp — библиотека транспортного протокола uTorrent. [МИТ]
Химия
Химия, Квантовая химия, Химия твердого тела/Физика, Геохимия, Биохимия
- d-SEAMS — механизм анализа траекторий молекулярной динамики на C++ и Lua с Nix. Это аббревиатура от «Отложенный структурный анализ для молекулярного моделирования». [GPL] веб-сайт
- gromacs — реализация параллельной молекулярной динамики с передачей сообщений. [GPL] веб-сайт
- Reaktoro — вычислительная среда на C++ и Python для моделирования химически реактивных систем. [LGPL] веб-сайт
- LAMMPS — программа классической молекулярной динамики, ориентированная на моделирование материалов. Это аббревиатура от «Крупномасштабный атомно-молекулярный массово-параллельный симулятор». [GPL] веб-сайт
- БЕЗУМИЕ — адаптивная численная среда с несколькими разрешениями для научного моделирования. [GPL] веб-сайт
- MPQC - Программа массово-параллельной квантовой химии, MPQC, вычисляет свойства атомов и молекул на основе первых принципов, используя независимое от времени уравнение Шредингера. [GPL] веб-сайт
- ORCA — пакет программ по квантовой химии ab initio, содержащий современные методы электронной структуры. [Академический] сайт
- Psi — пакет вычислительной химии для начинающих. [GPL] веб-сайт
интерфейс командной строки
Пользовательский интерфейс консоли/терминала, интерфейс командной строки
- Ааа! - Минималистичный, простой обработчик аргументов, содержащий только заголовок. [БСД]
- argparse — анализатор аргументов для современного C++. [МИТ]
- args — простая библиотека синтаксического анализатора аргументов C++, предназначенная только для заголовков. [МИТ]
- barkeep — небольшой заголовок C++ для отображения асинхронной анимации, счетчиков и индикаторов выполнения. Веб-сайт [Apache-2.0]
- Boost.Program_options — библиотека для получения параметров программы обычными методами, такими как командная строка и файл конфигурации. [Повышение] веб-сайт
- cli — кроссплатформенная библиотека C++14, предназначенная только для заголовков, для интерактивных интерфейсов командной строки (стиль Cisco). [Способствовать росту]
- CLI11 — одно- или многофайловая библиотека C++11 только для заголовков для простого и расширенного анализа CLI. [БСД]
- clipp — простая в использовании, мощная и выразительная обработка аргументов командной строки для C++11/14/17, содержащихся в одном заголовочном файле. [МИТ]
- cpp-terminal — небольшая библиотека C++, предназначенная только для заголовков, для написания мультиплатформенных терминальных приложений. [МИТ]
- Ctrl+C — кроссплатформенная библиотека C++11 для обработки событий Ctrl+C в пользовательских функциях. [МИТ]
- cxxopts — облегченный анализатор параметров командной строки C++. [МИТ]
- docopt.cpp — библиотека для создания анализатора параметров из строки документации. [МИТ/Ускорение]
- FINAL CUT — Библиотека для создания терминальных приложений с текстовыми виджетами. [LGPL]
- FTXUI — пользовательский интерфейс функционального терминала C++. [МИТ]
- gflags — модуль флагов командной строки для C++. [БСД]
- imtui — текстовый пользовательский интерфейс немедленного режима. [МИТ]
- индикаторы - Индикаторы активности для современного C++. [МИТ]
- linenoise — небольшая автономная альтернатива readline и libedit. [пункт BSD-2]
- linenoise-ng — небольшая портативная замена строки чтения GNU для Linux, Windows и MacOS, способная обрабатывать символы UTF-8. [БСД]
- Lyra — простой в использовании компонуемый анализатор командной строки для C++ 11 и более поздних версий. [Способствовать росту]
- Ncurses — пользовательский интерфейс терминала. [МИТ]
- oof - Удобное, высокопроизводительное управление цветом и положением RGB для вывода на консоль. [МИТ]
- PDCurses — общедоступная библиотека проклятий, в которой доступны как исходный код, так и предварительно скомпилированная библиотека. [Общественное достояние]
- popl — шаблонные аргументы командной строки с одним заголовком и анализатор ini-файлов для C++ 11 и более поздних версий. [МИТ]
- replxx — замена readline и libedit, которая поддерживает UTF-8, подсветку синтаксиса, подсказки, работает в Unix и Windows. [БСД]
- tabulate — создатель таблиц для современного C++. [МИТ]
- TCLAP — зрелая, стабильная и многофункциональная библиотека для определения аргументов командной строки и доступа к ним в ANSI C++. [МИТ]
- termbox — библиотека AC для написания текстовых пользовательских интерфейсов. [МИТ]
- TermOx — библиотека пользовательского интерфейса терминала (TUI) C++17. [МИТ]
- tuibox — библиотека пользовательского интерфейса терминала с одним заголовком (TUI), способная создавать интерактивные приложения, управляемые мышью, в командной строке. [МИТ]
Сжатие
Библиотеки сжатия и архивирования
- bit7z — статическая библиотека C++, предлагающая понятный и простой интерфейс для общих библиотек 7-zip. [МПЛ2]
- Brotli — формат сжатия Brotli. Разработано Google. [МИТ]
- bzip2 — свободно доступный, непатентованный высококачественный компрессор данных. [БСД]
- bzip3 — лучший и более сильный духовный преемник BZip2. [LGPL]
- FastLZ — небольшое и портативное сжатие LZ77 с выравниванием по байтам. [МИТ]
- FiniteStateEntropy — энтропийные кодеки нового поколения: Finite State Entropy и Huff0.
- Heatshrink — библиотека сжатия данных для встраиваемых систем/систем реального времени [ISC]
- Kanzi — современный, модульный, портативный и эффективный компрессор данных без потерь, реализованный на C++. [Апач-2.0]
- KArchive — библиотека для создания, чтения, записи и управления файловыми архивами, такими как zip и tar. Он также обеспечивает прозрачное сжатие и распаковку данных с использованием таких форматов, как gzip, через подкласс QIODevice. [LGPL]
- libarchive — Многоформатная библиотека архивирования и сжатия. Веб-сайт [Новая BSD]
- LZ4 — алгоритм чрезвычайно быстрого сжатия. [BSD] сайт
- LZFSE — библиотека сжатия LZFSE и инструмент командной строки. Разработано Apple.
- LZHAM — библиотека сжатия данных без потерь со степенью сжатия, аналогичной LZMA, но с гораздо более быстрой распаковкой. [БСД]
- LZMA ⚡ — Стандартный и общий метод сжатия формата 7z. [PublicDomain] веб-сайт
- LZMAT — чрезвычайно быстрая библиотека сжатия данных без потерь в реальном времени. [GPL]
- miniz — библиотека сжатия Deflate/Inflate для одного исходного файла C с zlib-совместимым API, чтение/запись ZIP-архива, запись PNG. [МИТ]
- Minizip — Zlib с последними исправлениями ошибок, поддерживающий объединение дисков PKWARE, шифрование AES и буферизацию ввода-вывода. [злиб]
- minizip-ng — форк популярной библиотеки для работы с zip-архивами, входящей в дистрибутив zlib. [злиб]
- PhysicsFS — библиотека для предоставления абстрактного доступа к различным архивам. Он предназначен для использования в видеоиграх, а его дизайн в некоторой степени вдохновлен файловой подсистемой Quake 3. [злиб]
- Rapidgzip — декомпрессия Gzip и произвольный доступ для современных многоядерных машин. [Апач-2/MIT]
- smaz — библиотека сжатия небольших строк. [БСД]
- Snappy — быстрый компрессор/декомпрессор. [БСД]
- ZLib — очень компактная библиотека сжатия потоков данных. [злиб]
- zlib-ng — zlib для систем «следующего поколения». Drop-In замена с некоторыми серьёзными оптимизациями. [злиб]
- zstd — Zstandard — алгоритм быстрого сжатия в реальном времени. Разработано Facebook. [БСД]
- ZZIPlib — обеспечивает доступ для чтения ZIP-архивов. [MPL/LGPL]
Параллелизм
Параллелизм и многопоточность
- alpaka — библиотека абстракции для параллельного ускорения ядра. [LGPLv3+]
- ArrayFire — библиотека графического процессора общего назначения. [БСД]
- Async++ — облегченная платформа параллелизма для C++11, созданная на основе библиотеки Microsoft PPL и стандартного предложения N3428 C++. [МИТ]
- Boost.Compute — библиотека вычислений на графическом процессоре C++ для OpenCL. [Повышение] веб-сайт
- Bolt — библиотека шаблонов C++, оптимизированная для графических процессоров. [Апач2]
- BS::thread_pool — быстрая, легкая и простая в использовании библиотека пула потоков C++17 [MIT]
- Канал — потокобезопасный контейнер для обмена данными между потоками. [МИТ]
- ck — Примитивы параллелизма, механизмы безопасного освобождения памяти и неблокирующие структуры данных. [БСД]
- concurrentqueue — быстрая параллельная очередь без блокировок для нескольких производителей и нескольких потребителей для C++11. [BSD, Повышение]
- Coros — простая в использовании и быстрая библиотека для параллелизма на основе задач с использованием сопрограмм. [БСЛ-1.0]
- CUB — CUB предоставляет современные программные компоненты многократного использования для каждого уровня режима программирования CUDA. [Новый БСД]
- cuda-api-wrappers — легкие оболочки Modern-C++ для API среды выполнения программирования CUDA GPU. [БСД]
- cupla — C++ API для запуска CUDA/C++ на OpenMP, Threads, TBB,... через Alpaka. [LGPLv3+]
- C++React — библиотека реактивного программирования для C++11. [Способствовать росту]
- FiberTaskingLib — многопоточная библиотека на основе задач, поддерживающая графы задач с произвольными зависимостями. [Апач]
- HPX — система выполнения C++ общего назначения для параллельных и распределенных приложений любого масштаба. [Способствовать росту]
- Планировщик задач Intel Games — платформа планирования задач, разработанная для нужд разработчиков игр. [МИТ]
- Intel Parallel STL — реализация Intel® C++17 STL для C++11 и выше. [Апач2]
- Intel TBB — строительные блоки Intel® Threading. [Апач2]
- соединение — библиотека параллельных структур данных на C++. [БСД]
- Kokkos — высокопроизводительная портативная модель программирования для параллельного выполнения и абстракции памяти. [БСД]
- libcds — библиотека C++ параллельных структур данных. [БСД]
- Libclsph — библиотека моделирования жидкости SPH с ускорением на базе OpenCL. [МИТ]
- libdill — представляет структурированный параллелизм в C. [MIT]
- libdispatch — Grand Central Dispatch (GCD), разработанный Apple Inc., представляет собой технологию параллелизма задач, основанную на шаблоне пула потоков. libdispatch — это библиотека, обеспечивающая реализацию сервисов GCD. Веб-сайт [Apache-2.0]
- libfork — новейшая библиотека задач без блокировок, ожидания и кражи продолжений, построенная на сопрограммах C++20. Веб-сайт [MPL-2.0]
- libmill — представляет параллелизм в стиле Go в C. [MIT]
- marl — Marl — это гибридный планировщик задач потоков и волокон, написанный на C++ 11. [Apache-2.0]
- Moderngpu — Moderngpu — это библиотека повышения производительности для вычислений общего назначения на графических процессорах. Это библиотека C++, предназначенная только для заголовков, написанная для CUDA. Уникальная ценность библиотеки заключается в ускорении примитивов для решения нерегулярно-параллельных задач. [FreeBSD и авторские права, Шон Бакстер]
- NCCL — оптимизированные примитивы для коллективной связи между несколькими графическими процессорами. [БСД]
- Neco — библиотека параллелизма для C (сопрограммы). [МИТ]
- OpenCL — открытый стандарт параллельного программирования гетерогенных систем.
- OpenMP — API OpenMP.
- ротор — микроструктура актера C++, дружественная к циклу событий. [МИТ]
- SObjectizer — реализация моделей Actor, Publish-Subscribe и CSP в одной довольно небольшой платформе C++. [BSD-3-пункт]
- Quantum — мощная платформа диспетчера сопрограмм C++, построенная на основе Boost.Coroutine2.
- RaftLib — библиотека RaftLib C++, параллельная потоковая передача/потоки данных с помощью операторов, подобных C++ iostream. [Апач2]
- readwriterqueue — быстрая очередь без блокировок с одним производителем и одним потребителем для C++. [БСД]
- stdgpu — эффективные STL-подобные структуры данных на графическом процессоре. [Апач2]
- Taskflow — универсальная система программирования параллельных и гетерогенных задач. (переименовано из Cpp-Taskflow) [MIT]
- ThreadPool — простая реализация пула потоков C++11 [zlib]
- Thrust — библиотека параллельных алгоритмов, напоминающая стандартную библиотеку шаблонов C++ (STL). [Апач2]
- transwarp — библиотека C++ только для заголовков для параллельного выполнения задач. [МИТ]
- VexCL — библиотека шаблонов векторных выражений C++ для OpenCL/CUDA. [МИТ]
- STAPL — среда параллельного программирования C++, предназначенная для работы на параллельных компьютерах как с общей, так и с распределенной памятью. [БСД]
- concurrencpp — общая библиотека параллелизма, содержащая задачи, исполнители, таймеры и сопрограммы C++20 для управления ими всеми.
Конфигурация
Файлы конфигурации, INI-файлы
- inifile-cpp — простой в использовании анализатор Ini-файлов только для заголовков для C++. [МИТ]
- inih — Простой анализатор файлов .INI на языке C, подходящий для встроенных систем. [BSD-3-пункт]
- inih — версия inih для C++ только с одним заголовком. [BSD-3-пункт]
- ini-cpp — версия C++ только с одним заголовком, с удобным интерфейсом чтения/записи, наследуемым от inih. Веб-сайт [BSD-3-пункт]
- iniparser — анализатор INI-файлов. [МИТ]*
- inipp — простой синтаксический анализатор и генератор ini C++ только для заголовков. [МИТ]
- libconfig — библиотека C, C++ для обработки структурированных файлов конфигурации. [LGPL-2.1] веб-сайт
- libconfuse — небольшая библиотека парсера конфигурационных файлов для C. [ISC]
- mINI — программа для чтения и записи INI-файлов. [МИТ]
- simpleini — кроссплатформенная библиотека C++, предоставляющая простой API для чтения и записи файлов конфигурации в стиле INI. [МИТ]
- toml++ — синтаксический анализатор и сериализатор TOML только для заголовков для C++17 и более поздних версий. сайт [MIT]
- toml11 — синтаксический анализатор/кодировщик toml C++11 (или более поздних версий) только для заголовков, зависящий только от стандартной библиотеки C++. [МИТ]
Контейнеры
- B-дерево C++ — библиотека шаблонов, реализующая упорядоченные контейнеры в памяти на основе структуры данных B-дерева. [Апач2]
- Dynamic_bitset — Простые полезные библиотеки: динамический набор битов C++17/20 только для заголовка. сайт [MIT]
- фиксированные-контейнеры — библиотека C++20 только для заголовков, которая предоставляет контейнеры constexpr фиксированной емкости. [МИТ]
- Flat_hash_map — очень быстрая плоская хеш-таблица с хешированием Фибоначчи.
- замороженный — альтернатива gperf только для заголовков, constexpr для пользователей C++14. [Апач-2.0]
- Hashmaps — реализация алгоритмов хеш-таблиц с открытой адресацией на C++. [МИТ]
- Hat-trie — реализация на языке C++ быстрого и эффективного использования памяти HAT-trie. [МИТ]
- Карта Hopscotch — быстрая хеш-карта только для заголовков, которая использует хеширование в классах для разрешения коллизий. [МИТ]
- LSHBOX — набор инструментов C++ для локально-зависимого хеширования (LSH), предоставляет несколько популярных алгоритмов LSH, а также поддерживает Python и MATLAB. [GPL]
- Parallel-hashmap — семейство очень быстрых и удобных для памяти контейнеров хэш-карт и btree, работающих только с заголовками [Apache2]
- PGM-индекс — структура данных, которая обеспечивает быстрый поиск, поиск предшественников, диапазонов и обновление в массивах из миллиардов элементов, используя на порядки меньше места, чем традиционные индексы. [Apache2] веб-сайт
- plf::colony — неупорядоченный контейнер типа «мешок», который превосходит стандартные контейнеры в сценариях с высокой степенью модификации, сохраняя при этом постоянные указатели на нестираемые элементы независимо от вставки/стирания. [zLib] сайт
- plf::list — реализация std::list, которая удаляет сращивание диапазонов, чтобы включить структуру, более удобную для кэша, что дает значительный прирост производительности. [zLib] сайт
- plf::stack — контейнер, заменяющий адаптер контейнера std::stack, с более высокой производительностью, чем любой стандартный контейнер в контексте стека. [zLib] сайт
- Ring_span lite — упрощенная реализация реализации Ring_span Артура О'Двайера, т.е. представление кругового буфера. [МИТ]
- robin-hood-hashing — быстрая и эффективная по использованию памяти хеш-таблица, основанная на хешировании Робина Гуда для C++14. [МИТ]
- robin-map — Быстрая хэш-карта и набор хешей с использованием хеширования Робин Гуда. [МИТ]
- sparsepp — быстрая и эффективная хэш-карта для C++. [пункт 3 BSD]
- st_tree — быстрый и гибкий класс шаблонов C++ для древовидных структур данных. [Апач-2.0]
- svector — компактный вектор, оптимизированный для SVO, для C++17 или выше. [МИТ]
- Tree.hh — STL-подобная библиотека деревьев C++, предназначенная только для заголовков. [GPL2+]
- unordered_dense — быстрая и плотно хранимая хэш-карта и хэш-набор, основанные на удалении обратного сдвига Робин Гуда. [МИТ]
Криптография
Библиотеки криптографии и шифрования
- Bcrypt — кроссплатформенная утилита шифрования файлов. Зашифрованные файлы переносятся на все поддерживаемые операционные системы и процессоры. [БСД]
- BeeCrypt — портативная и быстрая криптографическая библиотека. [LGPLv2.1+]
- Botan — криптобиблиотека для C++. [БСД-2]
- Crypto++ — бесплатная библиотека классов криптографических схем C++. [Повышение] веб-сайт
- дайджестпп — библиотека дайджеста (хеша) сообщений C++11, предназначенная только для заголовков. [Общественное достояние]
- GnuPG — полная и бесплатная реализация стандарта OpenPGP. [GPL]
- GnuTLS — библиотека защищенных коммуникаций, реализующая протоколы SSL, TLS и DTLS. [LGPL2.1]
- Libgcrypt — криптографическая библиотека общего назначения, изначально основанная на коде GnuPG. [LGPLv2.1+]
- LibreSSL — бесплатная версия протокола SSL/TLS, разветвленная OpenSSL в 2014 году. [?]
- libsodium — P(ortable|ackageable) криптографическая библиотека на основе NaCl, продуманная и простая в использовании. [ИСК]
- lib Hydrogen — легкая, безопасная и простая в использовании криптобиблиотека, подходящая для сред с ограниченными возможностями. [ИСК]
- LibTomCrypt — довольно полный, модульный и портативный набор криптографических инструментов. [ВТФПЛ]
- mbedTLS — портативная, простая в использовании, читаемая и гибкая библиотека SSL с открытым исходным кодом, ранее известная как PolarSSL. [Apache2] веб-сайт
- Nettle — криптографическая библиотека низкого уровня. [LGPL]
- OpenSSL — надежная полнофункциональная криптографическая библиотека коммерческого уровня с открытым исходным кодом. [Apache] веб-сайт
- retter — Коллекция хеш-функций, шифров, инструментов, библиотек и материалов, связанных с криптографией.
- s2n — реализация протоколов TLS/SSL. [Апач]
- sha1collisiondetection — библиотека и инструмент командной строки для обнаружения коллизий SHA-1 в файле. [МИТ]
- Tink — многоязычная кроссплатформенная библиотека, предоставляющая криптографические API, которые безопасны, просты в правильном использовании и трудны для злоупотреблений. [Апач-2.0]
- Tiny AES в C — небольшой портативный AES128/192/256 в C. [PublicDomain]
- Themis — криптобиблиотека для безболезненной защиты данных, обеспечивающая симметричное и асимметричное шифрование, безопасные сокеты с прямой секретностью, для мобильных и серверных платформ. [Апач2]
- HEhub — библиотека гомоморфного шифрования и ее приложений. [Апач2]
CSV-файл
Библиотеки для анализа файлов, разделенных запятыми (CSV)
- запятая — еще один синтаксический анализатор CSV C++17 только для заголовков. [Без лицензии]
- csv2 — быстрый парсер CSV для современного C++. [МИТ]
- Csv::Parser — анализатор CSV во время компиляции и выполнения, написанный на C++17. [Злиб]
- Быстрый C++ CSV Parser — небольшая, простая в использовании и быстрая библиотека только для заголовков для чтения файлов CSV. [BSD-3-пункт]
- Glaze — высокая производительность, только заголовок, библиотека CSV с поддержкой отражения. [МИТ]
- lazycsv — быстрый, легкий синтаксический анализатор csv с одним заголовком для современного C++. [МИТ]
- ssp — синтаксический анализатор «csv» только для заголовка, который является быстрым и универсальным с современным API C++. [МИТ]
- Синтаксический анализатор CSV Винса — быстрый, автономный, потоковый анализатор CSV C++17 с дополнительным приведением типов и статистикой. [МИТ]
База данных
Библиотеки баз данных, серверы SQL, драйверы ODBC и инструменты
- ClickHouse — C++ клиент для СУБД ClickHouse. [Апач2]
- CrossDB — сверхвысокопроизводительная и легкая встраиваемая и серверная СУБД OLTP. Веб-сайт [MPL-2.0]
- DuckDB — внутрипроцессная система управления базами данных SQL OLAP. сайт [MIT]
- hiberlite — объектно-реляционное отображение C++ для sqlite3. [БСД]
- Hiredis — минималистичная клиентская библиотека C для базы данных Redis. [БСД]
- Infinity — база данных на основе искусственного интеллекта, созданная для приложений LLM и обеспечивающая невероятно быстрый векторный и полнотекстовый поиск. [Апач2]
- Kuzu — встраиваемая система управления базами данных графов свойств, созданная для скорости запросов и масштабируемости. Реализует Cypher. сайт [MIT]
- Kvrocks — распределенная база данных NoSQL с ключами и значениями, которая использует RocksDB в качестве механизма хранения и совместима с протоколом Redis. [Апач2]
- LevelDB — быстрая библиотека хранения значений ключей, написанная в Google, которая обеспечивает упорядоченное сопоставление строковых ключей со строковыми значениями. [БСД]
- libpg_query — библиотека C для доступа к парсеру PostgreSQL вне серверной среды. [BSD-3-пункт]
- libpqxx — официальный клиентский API C++ для PostgreSQL. [BSD-3-пункт]
- LMDB — очень быстрое встроенное хранилище ключей/значений с полной семантикой ACID. [ОткрытьLDAP]
- LMDB++ — оболочка C++11 для встроенной библиотеки базы данных LMDB. [Общественное достояние]
- mgclient — клиент Memgraph C/C++. [Апач2]
- Драйвер MongoDB C — клиентская библиотека MongoDB для C. [Apache2]
- Драйвер MongoDB C++ — драйвер C++ для MongoDB. [Апач2]
- MongoDB Libbson — служебная библиотека BSON. [Апач2]
- MySQL++ — оболочка C++ для MySQL C API. [LGPL]
- nanodbc — небольшая оболочка C++ для собственного C ODBC API. [МИТ]
- ODB — кроссплатформенная и межбазовая система объектно-реляционного отображения (ORM) с открытым исходным кодом для C++. [GPLv2]
- redis3m — оболочка Hiredis с чистым интерфейсом C++, поддерживающая Sentinel и готовые к использованию шаблоны. [Апач2]
- Reindexer — встраиваемая, хранящаяся в памяти документо-ориентированная база данных с высокоуровневым интерфейсом построителя запросов. [Apache2] веб-сайт
- RocksDB — встроенное хранилище значений ключей для быстрого хранения данных Facebook. [БСД]
- SimDB — высокая производительность, общая память, отсутствие блокировок, кроссплатформенность, один файл, минимальные зависимости, хранилище значений ключа C++11. [Апач2]
- SOCI — уровень абстракции базы данных для C++. [Способствовать росту]
- Speedb — проект под руководством сообщества: высокопроизводительное масштабируемое встроенное хранилище ключей и значений, совместимое с RocksDB. [Апач2]
- SQLite — полностью встроенная полнофункциональная реляционная база данных размером в несколько сотен тысяч, которую вы можете включить прямо в свой проект. [Общественное достояние]
- SQLiteC++ — SQLiteC++ (SQLiteCpp) — это умная и простая в использовании оболочка C++ SQLite3. [МИТ]
- sqlite_modern_cpp — только заголовок C++14, оболочка библиотеки sqlite. [МИТ]
- sqlite_orm — библиотека только легких заголовков SQLite ORM для современного C++. [AGPL + платный MIT]
- sqlpp11 — типобезопасный встроенный доменно-ориентированный язык для SQL-запросов и результатов на C++. [пункт BSD-2]
- TileDB — быстрая СУБД с плотными и разреженными многомерными массивами. сайт [MIT]
- TinyORM — современная библиотека ORM C++. сайт [MIT]
- UnQLite — автономный, бессерверный, транзакционный NoSQL-движок с нулевой конфигурацией. Веб-сайт [BSD-2-пункт]
- upscaledb — встроенное «типизированное» хранилище ключей/значений со встроенным интерфейсом запросов. [GPLv3]
- Клиент TigerBeetleDB C++ (сообщество) — TigerBeetle — это база данных финансового учета, разработанная для обеспечения критически важной безопасности и производительности для обеспечения будущего финансовых услуг. [БСЛ-1.0]
- Trilogy — клиентская библиотека для MySQL-совместимых серверов баз данных, разработанная для обеспечения производительности, гибкости и простоты внедрения. [МИТ]
- UStore — мультимодальная база данных для BLOB, JSON и графиков. [Апач2]
- Velox — векторизованная библиотека ускорения баз данных C++, предназначенная для оптимизации механизмов запросов и систем обработки данных. Веб-сайт [Apache-2.0]
Визуализация данных
Библиотеки визуализации данных
- matplotplusplus — графическая библиотека C++ для визуализации данных. сайт [MIT]
Отлаживать
Отладка библиотек, обнаружение утечек памяти и ресурсов, модульное тестирование
- Back-cpp — Красивый принтер трассировки стека для C++. [МИТ]
- Bencher — набор инструментов непрерывного сравнительного анализа, предназначенных для выявления снижения производительности в CI. [MIT]/[Apache2]
- тест — Google предоставил небольшую библиотеку поддержки микробенчмарков. [Апач2]
- Boost.Test — библиотека тестов Boost. [Повышение] веб-сайт
- check — Check — это платформа модульного тестирования для веб-сайта C. [LGPL-2.1].
- doctest — самая легкая многофункциональная среда тестирования C++ с одним заголовком. [МИТ]
- Catch2 — современная среда тестирования на языке C++ для модульных тестов, TDD и BDD. [Способствовать росту]
- Celero — платформа сравнительного анализа C++. [Апач2]
- cpp-dump — библиотека C++ для целей отладки, которая может печатать любые переменные, даже определяемые пользователем типы. [МИТ]
- CppUTest — среда модульного тестирования и макетирования для C/C++. [пункт BSD-3]
- CUTE — проще модульное тестирование C++. [LGPL3]
- CMocka — фреймворк модульного тестирования для C с поддержкой фиктивных объектов. [Апач2]
- CPPBenchmark - Производительность эталона для C ++ с наносекундами измеряет точность. [МИТ]
- CPPTRACE - простая, портативная и автономная библиотека C ++ StackTrace, поддерживающая C ++ 11 и больше. [МИТ]
- CPPUNIT - C ++ Порт Junit. [LGPL2]
- CTEST - Программа драйвера Cmake Test. [БСД]
- dbg -macro - макрос DBG (…) для C ++. [МИТ]
- DebugViewpp - просмотрщик журнала отладки. [Способствовать росту]
- Delieaker - инструмент для обнаружения утечки ресурсов, включая память, GDI и утечки ручки.
- FAKEIT - Простая смешная структура для C ++. [МИТ]
- FFF - Микро -образная работа для создания поддельных функций C. [МИТ]
- Google Mock - библиотека для написания и использования макетных классов C ++. [БСД]
- Google Test - Google C ++ Framework. [БСД]
- ig -debugheap - многоплатформенная отладочная куча полезно для отслеживания ошибок в памяти. [БСД]
- Libassert - самая чрезмерная библиотека утверждений C ++. [МИТ]
- libtap - записи тестов в C. [gpl2]
- Microprofile - Profiler с Web -View для нескольких платформ. [Нелисленность]
- Minunit - минимальная модельная структура тестирования для C, автономная в одном файле заголовка. [МИТ]
- Mockator - Eclipse CDT плагин для швов C ++ и фиктивных объектов.
- Nanobench - Простая, быстрая, точная функциональность Microbenchmarking Microbenchmarking для C ++ 11/14/17/20. [MIT] Веб -сайт
- Нанотимер-простой кроссплатформенный класс с низким уровнем платформенного таймера для бенчмаркинга. [Zlib] Веб -сайт
- NONIUS - C ++ Micro -Benchmarking Framework. [CC]
- Remototery - Single C File Profiler с Web Viewer. [Apache2]
- Snitch - Легкий C ++ 20 Структура тестирования. [Способствовать росту]
- TOUCA-Система регрессионного тестирования с открытым исходным кодом, которую вы можете самостоятельно. [Apache2] Веб -сайт
- Unittest ++ - легкая модульная структура тестирования для C ++. [MIT/X Консорциум лицензия]
- Unity - простое модульное тестирование для C. [MIT]
- utest.h - Однонациональная структура тестирования единичного заголовка для C и C ++. [Нелисленность]
- μT - C ++ 20 Одиночный заголовок/Одиночный модуль, без макро -без макросменная структура μ (микро)/единичного тестирования. [Способствовать росту]
- VLD - детектор визуальной утечки. Бесплатная, надежная система обнаружения утечки с открытым исходным кодом для визуального C ++.
Документация
- Доксид - Современная документация для современного C ++, настройка с YAML, выходной отметки. [Apache 2.0] Веб -сайт
- Doxygen ⚡ - Де -факто стандартный инструмент для генерации документации из аннотированных источников C ++. [GPL2] Веб -сайт
- Doxyrest - компилятор от Doxygen XML для реструктурированного текста для Sphinx. [МИТ]
- HDOC - современный инструмент документации для C ++. [Agpl/Propreatary] Веб -сайт
- Natural Docs - Natural Docs - это генератор документации с открытым исходным кодом для нескольких языков программирования. [Agpl/Propreatary] Веб -сайт
- SPHINX - SPHINX позволяет легко создавать интеллектуальную и красивую документацию. [BSD-2-CLAUSE] Веб-сайт
ЦСП
Цифровая обработка сигнала.
- DSPFILTERS - набор полезных классов C ++ для цифровой обработки сигналов. [МИТ]
- FFTW - библиотека переменного тока для вычисления DFT в одном или нескольких измерениях. [GPL]
- IIR1 - IIR Realtime C ++ Библиотека фильтров. [МИТ]
- KISSFFT - библиотека Fast Fourier Transform (FFT), которая пытается сделать ее простой, глупой. [BSD-3-CLAUSE]
- Pocketfft - реализация FFT на основе FFTPack, но с несколькими улучшениями. [BSD-3-CLAUSE]
- Wavelib - C реализация 1D и 2D вейвлет -преобразования. [BSD-3-CLAUSE]
Шрифт
Библиотеки для анализа и манипулирования файлами шрифтов.
- FontConfig - конфигурация шрифта и библиотека настройки. [MIT] Веб -сайт
- Freetype - Freetype - это свободно доступная библиотека программного обеспечения для отображения шрифтов. [FTL & GPLV2]
- OTFCC - Библиотека и утилита AC, используемые для анализа и написания файлов шрифтов OpenType. [Apache-2.0]
- Harfbuzz - текстовый двигатель. [Старый Массачусетс]
- Libschrift - легкая библиотека визуализации шрифта TrueType. [ISC]
Игровой двигатель
- Кислота - высокоскоростный игровой двигатель C ++ 17. [МИТ]
- ALLEGRO - кроссплатформенная библиотека, в основном нацеленная на видеоигры и мультимедийное программирование. [Zlib]
- Двигатель Axmol-кроссплатформенный игровой двигатель для настольных компьютеров, мобильных устройств и Xbox (UWP), полученный от Cocos2d-X.4.0. [MIT] Веб -сайт
- Cocos2d-X-многоплатформенная структура для построения 2D-игр, интерактивных книг, демонстраций и других графических приложений. [МИТ]
- CORANGE - игровой двигатель, написанный в Pure C, SDL и OpenGL. [БСД]
- Crown-Crown-это игровой двигатель, управляемый данными общего назначения, написанный с нуля в ортодоксальном C ++ с учетом философии дизайна минималистичной и ориентированной на данные. [МИТ]
- Delta3d - надежная платформа моделирования. [LGPL2]
- Entt - Gaming встречает современный C ++. [МИТ]
- Геймплей - кроссплатформенный нативный игровой фреймворк для создания 2D/3D мобильных и настольных игр. [Apache2]
- Годо - Полностью изготовленный, открытый исходный код, лицензированный MIT, игровой двигатель. [МИТ]
- Grit - Community Project по созданию бесплатного игрового двигателя для реализации 3D -игр Open World. [МИТ]
- Halley - легкий игровский двигатель, написанный в C ++ 14 с «истинной» системой компонентов. [Apache 2.0]
- JNGL - 2D Библиотека для Linux, Windows, MacOS, Android, iOS, Xbox, Nintendo Switch и Интернета. [Zlib] Веб -сайт
- Klayge-кроссплатформенный игровой двигатель с открытым исходным кодом с архитектурой на основе плагинов. [GPLV2] Веб -сайт
- NCINE - кроссплатформенный 2D -игровой двигатель с акцентом на производительность, написанный в C ++ 11 и необязательно сценарий в LUA. [MIT] Веб -сайт
- O3DE-многоплатформенный 3D-двигатель с открытым исходным кодом в режиме реального времени на основе Amazon Lumberyard. [Apache2] Веб -сайт
- OpenXray-рентгеновский двигатель, модифицированный сообществом, используется в серии Game Stalker. [Модифицированный только BSD/некоммерческий только]
- Оксигигин - кроссплатформенный 2D C ++ Game Engine. [МИТ]
- PANDA3D - игровой двигатель, структура 3D -рендеринга и разработка игр для программ Python и C ++. [Модифицированный BSD] Веб -сайт
- PixelgameEngine - Официальное распространение OlcpixelgameEngine, инструмента, используемого в видео и проектах на YouTube Javidx9. [OLC3]
- Поликод - кроссплатформенная структура для творческого кода в C ++ (с привязками LUA). [MIT] Веб -сайт
- Quakeforge - активно поддерживается филиал оригинального кода Quake Engine с более чем более 20 лет разработки. [GPL-2.0]
- Raylib-простая и простая в использовании библиотеку, чтобы насладиться программированием видеоигр. [Zlib/libpng] Веб -сайт
- Весна - мощный бесплатный кроссплатформенный игровой двигатель RTS. [GPLV2/GPLV3] Веб -сайт
- Torque2d-двигатель с открытым исходным кодом и кроссплатформенный двигатель C ++, созданный для разработки 2D игры. [MIT] Веб -сайт
- Torte3d - двигатель C ++ с открытым исходным кодом, созданный для разработки 3D -игры. [MIT] Веб -сайт
- Toy Engine - Toy - это тонкий и модульный игровой двигатель C ++, который предлагает простые выразительные идиомы C ++ для разработки полных представленных 2D или 3D -игр в быстрых итерациях.
- Urho3d - бесплатный легкий, кроссплатформенный 2D и 3D Game Engine, реализованный в C ++. Большое вдохновлено OGRE и ORDE3D. [МИТ]
- Ezengine - это бесплатный игровой двигатель с открытым исходным кодом, написанный в C ++. Его философия должна быть модульной и гибкой, так что она может быть адаптирована ко многим различным случаям использования. [MIT] Веб -сайт
График
- CXXGRAPH - БЕСПЛАТНАЯ БИБЛИОТЕКА C ++ (17) Header Header для представления и выполнения алгоритмов. [AGPL-3.0]
- GRAAF - легкая библиотека графиков C ++ 20 общего назначения. [MIT] Веб -сайт
графический интерфейс
Графический пользовательский интерфейс
- Боден - родной, мобильный, кроссплатформенный графический интерфейс. [GPL/LGPL/Propritary] Веб -сайт
- CEGUI - Гибкая, кроссплатформенная библиотека GUI.
- Элементы - легкая, мелкозернистая, независимая от разрешения, модульная библиотека GUI. [МИТ]
- FLTK - быстрый, свет, кроссплатформенный инструментарий C ++. [LGPL2]
- Fox Toolkit-с открытым исходным кодом, кроссплатформенный инструментарий виджета. [LGPL]
- GACUI - Ускоренный пользовательский интерфейс C ++ C ++, с Wysiwyg разработки инструментов, поддержки XML, встроенные функции привязки данных и функции MVVM. [MS-PL]
- GTK+ - Многоплатформенный инструментарий для создания графических пользовательских интерфейсов. [LGPL]
- GTKMM - Официальный интерфейс C ++ для популярной библиотеки GTK+. [LGPL]
- IMGUI - Графический пользовательский интерфейс немедленного режима с минимальными зависимостями. [МИТ]
- IMPOT - Непосредственное режим построения виджетов для IMGUI. [МИТ]
- IUP - многоплатформенный инструментарий для создания графических пользовательских интерфейсов. [МИТ]
- Libui - Простая и портативная (но не негибкая) библиотека GUI в C, которая использует нативные технологии графического интерфейса каждой платформы, которую он поддерживает. [МИТ]
- Mygui - быстрый, гибкий и простой графический интерфейс. [МИТ]
- Nana - Nana - это кроссплатформенная библиотека для программирования GUI в современном стиле C ++. [Способствовать росту]
- Nanogui - минималистичная библиотека кроссплатформенных виджетов для OpenGL 3.x или выше. [БСД]
- Nuklear - Однообъемная библиотека ANSI C GUI. [PublicDomain]
- QCustOmplot - QT График виджет без дальнейших зависимостей. [GPLV3]
- QWT - виджеты QT для технических приложений. [Собственность на основе LGPL]
- QWTPLOT3D-библиотека программирования C ++ на основе QT/OpenGL на основе CT/OpenGL, обеспечивающая по сути куча 3D-Widgets. [Zlib]
- RMLUI - развивалась библиотека пользовательских интерфейсов HTML/CSS. Вилка библиотек. [МИТ]
- Блюдце - современная кроссплатформенная библиотека C ++ WebView. [МИТ]
- SCITER - SCITER - это встроенный двигатель HTML/CSS/сценариев, направленный на использование в качестве уровня пользовательского интерфейса современных настольных приложений. [Бесплатно/рекламируется]
- Slint - Легкий инструментарий для настольных компьютеров и встроенный настольный план. [GPL/Free/Propritary] Веб -сайт
- TGUI - Кроссплатформенный современный графический интерфейс C ++. [Zlib] Веб -сайт
- Webui - используйте любой веб -браузер в качестве графического интерфейса, с вашим предпочтительным языком в бэкэнд и HTML5 на блюде. [MIT] Веб -сайт
- WXCHARTS - библиотека для создания диаграмм в приложениях WXWIDGETS. [MIT] Веб -сайт
- WXWIDGETS - библиотека C ++, которая позволяет разработчикам создавать приложения для Windows, Mac OS X, Linux и других платформ с одной базой кода. [Собственный LGPL]
- XTD - Modern C ++ 17/20 Framework для создания консоли (CLI), Forms (GUI Like Winforms) и приложений Tunit (модульные тесты, такие как Microsoft Unit Framework) в Windows, MacOS, Linux, iOS и Android. [МИТ]
- Юэ - библиотека для создания нативных кроссплатформенных приложений с графическим интерфейсом. [Lgplv2]
Графика
- Assimp - Библиотека импорта Open Asset (ASSIMP) - это кроссплатформенная библиотека импорта 3D -модели, целью которой является предоставление общего API для различных форматов файлов 3D активов. [BSD-3-CLAUSE] Веб-сайт
- BGFX - библиотека кроссплатформенного рендеринга. [БСД]
- BLEND2D - 2D -векторный графический двигатель, работающий на компиляторе JIT. [Zlib] Веб -сайт
- Каир - 2D -графическая библиотека с поддержкой нескольких выводительных устройств. [LGPL2 или Mozilla MPL]
- C-Turtle-Библиотека графики черепах только C ++ 11, выступающая в качестве обертки CIMG. [МИТ]
- Сличанный двигатель-современная кроссплатформенная 3D-графическая библиотека низкоуровневого. [Apache2]
- DirectXtk - Сборник помощников для написания кода DirectX 11.x в C ++. [МИТ]
- GLFW - простая, кроссплатформенная библиотека Appengl Arangling. [Zlib/libpng]
- GLFWPP - Тонкая современная обертка C ++ 17 только для заголовка для GLFW. [МИТ]
- Harfang 3D 3D Библиотека визуализации, доступная в C ++, Python, Lua и Go. На основе BGFX. [GPLV3/LGPLV3/Propreatary] Веб -сайт
- Herebedragons - базовая 3D -сцена, реализованная с различными двигателями, рамками или API. [MIT] Веб -сайт
- ORDE3D - небольшой 3D -рендеринг и анимационный двигатель. [EPL]
- Ион - небольшой и эффективный набор библиотек для создания кроссплатформенных приложений клиента или сервера, которые используют 3D -графику. [Apache2] Веб -сайт
- Irrlicht - высокопроизводительный 3D -двигатель в реальном времени, написанный в C ++. [Zlib]
- Libigl - Простая библиотека обработки геометрии C ++. [MPL2]
- LLGL - Графическая библиотека низкого уровня (LLGL) - это тонкий слой абстракции для современной графики API. [BSD-3-CLAUSE]
- Lunasvg - отдельная библиотека рендеринга SVG в C ++. [МИТ]
- Magnum - Легкий и модульный C ++ 11/C ++ 14 Графическая промежуточная программа для игр и визуализации данных. [MIT] Веб -сайт
- Micro -GL - в реальном времени, встраиваемое, заголовки только C ++ 11 векторная графика ЦП. Нет STD Lib, нет FPU и не требуется графический процессор. [Пользователь] веб -сайт
- Nanovg - антиалиас -2D -векторная библиотека рисования на вершине OpenGL для пользовательского интерфейса и визуализаций. [Zlib]
- OGRE 3D ⚡-Гибкий 3D-рендеринг, ориентированный на сцену, в режиме реального времени (в отличие от игрового двигателя), написанный в C ++. [MIT] Веб -сайт
- OpenSceneGraph - высокопроизводительный 3D -графический инструментарий с открытым исходным кодом. [OSGPL]
- OpenSubdiv - Библиотека Pixar для оценки и отображения поверхностей подразделения на процессоре и графическом процессоре. [Модифицированный Apache2]
- OpenVDB - Библиотека и инструменты для хранения, редактирования и рендеринга объемных наборов данных. [MPL2]
- Panda3d - структура 3D рендеринга и разработки игры для Python и C ++. [БСД]
- Partio - Библиотека для данных о споре, при поддержке большинства общих форматов файлов. [Модифицированный BSD]
- SKIA - Полная двухмерная графическая библиотека для текста рисования, геометрии и изображений. [BSD] Веб -сайт
- Thorvg-независимая от платформы портативная библиотека, которая позволяет рисовать сцены и анимацию на основе векторов, включая SVG и Lottie. [MIT] Веб -сайт
- TinySpline - небольшая, но мощная библиотека ANSI C для интерполяции, преобразования и запроса произвольных NURBS, B -сплойнов и кривых Bézier. [МИТ]
- Urho3d - кроссплатформенное рендеринг и игровой двигатель. [Много разных, в основном MIT]
- YOCTO/GL-крошечные библиотеки C ++ для физической на основе данных графики. [МИТ]
Обработка изображений
- Boost.gil - общая библиотека изображений. [Boost] Веб -сайт
- Bitmapplusplus - простой и быстрый заголовок Bitmap C ++ Библиотека. [МИТ]
- CIMG - небольшой с открытым исходным кодом, инструментарий C ++ для обработки изображений. [Собственный LGPL или GPL]
- Cximage - библиотека обработки и преобразования изображений для загрузки, сохранения, отображения, преобразования BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K Images. [Zlib]
- Dlib ⚡ - современное машинное обучение C ++ 11, компьютерное зрение, численная оптимизация и инструментарий глубокого обучения. [Boost] Веб -сайт
- FPNG - Супер быстрый C ++ .PNG Автор/читатель. [Нелисленность]
- Freeimage - библиотека с открытым исходным кодом, которая поддерживает популярные графические форматы изображений и другие, как это необходимо для современных мультимедийных приложений. [GPL2 или GPL3]
- GD - GD Graphics Library, известная в PHP для загрузки/манипуляций и генерации минимума изображения и генерации миниатюры. [Пользовательская разрешающая лицензия, требует упоминания на веб -сайте пользователей]
- DCMTK - DICOM Toolkit.
- GDCM - Библиотека DICOM.
- ITK-кроссплатформенная система с открытым исходным кодом для анализа изображений. [Apache2 из ITK 4.0]
- [Jpegli] [https://github.com/google/jpegli] - улучшенная реализация энкодера JPEG и декодера. [BSD-3-CLAUSE]
- Leptonica - Leptonica - это библиотека с открытым исходным кодом, содержащую программное обеспечение, которое в целом полезно для приложений обработки изображений и анализа изображений. [BSD-2-CLAUSE] Веб-сайт
- Libavif - Библиотека для кодирования и декодирования. AVIF файлов. [BSD-2-CLAUSE]
- Libfacedetetection - Библиотека с открытым исходным кодом для обнаружения лица на изображениях. Скорость обнаружения лица может достигать 1500 кадров в секунду. [БСД]
- Libjpeg -Turbo - кодек изображения JPEG, который использует инструкции SIMD для ускорения базового кодирования и декодирования JPEG. [IJG & BSD-3-CLAUSE & Zlib]
- libjxl - JPEG XL Format Format Реализация. [BSD-3-CLAUSE]
- Libpng - Справочная библиотека для использования в приложениях, которые читают, создают и манипулируют файлами растровых изображений PNG (Portable Network Graphics). [libpng-2.0] Веб-сайт
- Libspng - Простая, современная альтернатива. [BSD-2] Веб-сайт
- Libvips - библиотека быстрой обработки изображений с низкими потребностями памяти. [LGPL] Веб -сайт
- LodePng - PNG Encoder и декодер в C и C ++. [Zlib]
- Magick ++ - ImageMagick Program Interfaces для C ++. [Apache2]
- Magickwnd - ImageMagick Program Interfaces для C. [Apache2]
- Mozjpeg - Улучшен JPEG Encoder. [BSD/BSD-3-CLAUSE/ZLIB]
- OpenCV ⚡ - Компьютерное зрение с открытым исходным кодом. [Apache2] Веб -сайт
- OpenExr - кроссплатформенная библиотека для изображений с высоким динамическим диапазоном. [Модифицированный BSDF]
- OpenImageio - мощная библиотека сбора изображений и текстур с поддержкой широкого числа общих форматов с потерянными и необработанными. [Модифицированный BSD]
- OpenJPEG - Кодек с открытым исходным кодом JPEG 2000, написанный на языке C. [BSD-2-CLAUSE]
- QOI - «довольно нормальный формат изображения» для быстрого сжатия изображений без потерь. [МИТ]
- SAIL-Легкая в использовании библиотеку декодирования кроссплатформенного изображения с подключаемыми кодеками изображения. [МИТ]
- SIMD - C ++ Библиотека обработки изображений с использованием SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX -512, VMX (AltiveC) и VSX (Power7), Neon For Arm. [МИТ]
- STB-Image-STB Одногоральный изображение загрузки. [Общественное достояние]
- Tesseract -OCR - двигатель OCR. [Apache2]
- Tinydng - только заголовок крошечный DNG/Tiff Loader и писатель в C ++. [МИТ]
- TinyExif - крошечная ISO -совместимая библиотека диаграммы ESIF и XMP для JPEG. [МИТ]
- Tinytiff - Легкая библиотека читателей/писателей TIFF. [GPL-3.0]
- Video ++ - A C ++ 14 Высокопроизводительная библиотека обработки видео и обработки изображений. [МИТ]
- VIGRA - Общая библиотека компьютерного зрения C ++ для анализа изображений. [MIT X11]
- VTK - с открытым исходным кодом, свободно доступная программная система для трехмерной компьютерной графики, обработки изображений и визуализации. [БСД]
Интернационализация
- getText - gnu 'getText'. [GPL2]
- IBM ICU - набор библиотек C/C ++ и Java, обеспечивающих поддержку Unicode и глобализации. [ICU]
- Libiconv - библиотека преобразования кодирования между различными кодировками персонажа. [GPL]
- SIMDUTF - Процедуры Unicode (UTF8, UTF16, UTF32): миллиарды символов в секунду с использованием SSE2, AVX2, NEON, AVX -512. [Apache-2/MIT]
- Uni -Algo - реализация алгоритмов Unicode для C/C ++. [Нелизированность или MIT]
- UTF8.H - Один заголовок строковых функций UTF8 для C и C ++. [Нелисленность]
- UTF8PROC - Библиотека Clean C для обработки данных UNICODE UTF -8. [МИТ]
Межпроцессная связь
- Apache Thrift - Эффективный межязычный IPC/RPC, работает между C ++, Java, Python, PHP, C#и многими другими языками. Первоначально разработан Facebook. [Apache2]
- Boost.InterProcess-библиотека Boost только заголовок, которая поддерживает общую память и картину памяти на уровне ядра с встроенными механизмами синхронизации (семафоры, мутекс и многое другое). [Boost] Веб -сайт
- BRPC - BRPC - это RPC -структура промышленного класса с использованием языка C ++, который часто используется в высокопроизводительной системе, такой как поиск, хранение, машинное обучение, реклама, рекомендация и т. Д. [Apache2] Веб -сайт
- Cap'n Proto - Формат быстрого обмена данными и система RPC на основе возможностей. [MIT] Веб -сайт
- ecal - pub/sub, client/server, c ++/python/c#, различные протоколы сообщений (Protobuf, capnproto ..). [Apache2] Веб -сайт
- GRPC - высокопроизводительный, открытый исходный код, общий характер RPC Framework. [BSD] Веб -сайт
- ICE - Комплексная структура RPC с поддержкой C ++, C#, Java, JavaScript, Python и других. [GPLV2]
- ICEORYX-Истинная межпроцессорная структура связи с нулевой копией для критических систем безопасности с привязками для C, ржавчины. Запускается на Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] Веб -сайт
- Libjson-RPC-CPP-Framework JSON-RPC для серверов и клиентов C ++. [МИТ]
- Nanomsg - простая высокоэффективная реализация нескольких «протоколов масштабируемости». [MIT] Веб -сайт
- NNG-Nanomsg-Next Generation, легкая бессмысленная библиотека обмена сообщениями. [MIT] Веб -сайт
- RPCLIB - современный сервер C ++ MSGPACK -RPC и клиентская библиотека. [МИТ]
- Simple-RPC-CPP-простой генератор обертки RPC для функций C/C ++. [БСД]
- SRPC - легкая система RPC, которая поддерживает несколько протоколов и OpenElemetry. [Apache2]
- WAMP - обеспечивает RPC и паб/закономерности обмена сообщениями. (Различные реализации, различные языки)
- XMLRPC -C - легкая библиотека RPC на основе XML и HTTP. [БСД]
JSON
- Boost.propertytree - анализатор/генератор дерева свойств, который можно использовать для анализа файлов XML/json/ini/Info. [Boost] Веб -сайт
- CJSON - Sultralightweewele Json Palser в ANSI C. [MIT]
- Daw Json Link - быстрая, удобная сериализация JSON и анализ в C ++. [BSL-1.0]
- Frozen - JSON SARSER и GENERATOR для C/C ++. [GPL & GPL2]
- Glaze - очень быстро, в памяти, JSON и интерфейс библиотека для современного C ++. [МИТ]
- Янссон - C Библиотека для кодирования, декодирования и манипулирования данными JSON. [МИТ]
- JBSON - JBSON - это библиотека для построения и итерационных данных BSON, а JSON документы в C ++ 14. [Способствовать росту]
- Jeyeson - очень здравая (только заголовок) библиотека C ++ JSON. [БСД]
- JSMN - минималистичный анализатор JSON в C. [MIT]
- JSON ⚡ - JSON для современного C ++. [MIT] Веб -сайт
- JSON ++ - анализатор JSON в C ++. [МИТ]
- json.cpp - библиотека диаграммы / сериализации барокко для C ++. [Apache-2.0]
- json.h - простой заголовок/один исходный решение для анализа JSON в C и C ++. [Нелисленность]
- JSON-BUILD-C89 Tiny Zero-Allocation JSON Serializer. [МИТ]
- JSON -C - реализация JSON в C. [MIT]
- Jsoncons-библиотека только для заголовка C ++ для JSON и JSON, похожие на бинаты с JSONPOINTER, JSONPATCH, JSONPATH и JMEPTH. [Способствовать росту]
- JSONCPP - библиотека C ++ для взаимодействия с JSON. [МИТ]
- Jsonifier - Несколько классов для разбора и сериализации объектов из/в JSON - очень быстро. [МИТ]
- jsonParse - простой анализатор JSON в ANSI C. [MIT]
- JSON -Parser - очень низкий отступник JSON Parser, написанный в портативном ANSI C. [BSD]
- JSON11 - крошечная библиотека JSON для C ++ 11. [МИТ]
- Структ JSON - Высокая производительность, отдельный заголовок JSON Parser SANERSER, СПАСИТЕЛЬНЫЕ СТРАЦИИ C ++. [МИТ]
- Json -Voorhees - библиотека JSON для C ++. Поддержка C ++ 11. Нет зависимостей, быстрых и удобных для разработчиков. [Apache2]
- JSON Toolkit - JSON, JSON Pointer, JSON Schema и JSONL Library для C ++ 20. [AGPL/Commercial]
- Jute - очень простой C ++ JSON SARSER. [PublicDomain]
- Libjson - библиотека анализатора JSON и принтеров в C. Легко интегрировать с любой моделью. [LGPL]
- Libjson - легкая библиотека JSON. [?]
- Libucl ⚡ - Паризер библиотеки универсальной конфигурации. [BSD-2-CLAUSE]
- Parson - Parson - это библиотека JSON в легком весе, написанная в C. [MIT]
- Picojson-сериализатор JSON Parser Serializer только для заголовка. [БСД]
- QT -JSON - простой класс для анализа данных JSON в иерархию Qvariant и наоборот. [GPLV3]
- QJSON - библиотека на основе QT, которая отображает данные JSON с объектами Qvariant. [LGPL2]
- Rapidjson ⚡ - быстрый диапазон/генератор JSON для C ++ с API Sax/Dom Style. [MIT] Веб -сайт
- Sajson - легкий, чрезвычайно высокопроизводительный анализатор JSON для C ++ 11. [МИТ]
- Симджсон - очень быстрая библиотека JSON, которая может проанализировать гигабайты JSON в секунду. [Apache-2.0]
- Sonic -CPP - библиотека Fast Json Serialize & Deserialization, ускоренная SIMD. [Apache-2.0]
- Taojson-нулевая зависимость C ++ только заголовок библиотека JSON. [МИТ]
- UJSON - µJSON - это AA Small, C ++ 11, UTF -8, библиотека JSON. [МИТ]
- Ultrajson-Ultra Fast Json Decoder и Encoder, написанный в C. [BSD-3-Clause]
- Yajl - быстрая потоковая библиотека разбора JSON в C. [ISC]
- Yyjson - высокопроизводительная библиотека JSON, написанная в ANSI C. [MIT]
Ведение журнала
- Blackhole - основанная на атрибутах структуру регистрации, которая предназначена для быстрой, модульной и очень настраиваемой. [МИТ]
- Boost.log - разработан, чтобы быть очень модульным и расширяемым. [Boost] Веб -сайт
- BQLOG - легкая высокопроизводительная система регистрации, используемая в таких проектах, как «Честь королей». [Apache-2.0]
- EasyLogging ++ - Чрезвычайно легкая библиотека высокопроизводительной регистрации для приложений C ++ 11 (или выше). [МИТ]
- FMTLOG - исполнительная библиотека регистрации в стиле FMTLIB с задержкой в наносекундах. [МИТ]
- G3log - асинхронный регистратор с динамическими раковинами. [PublicDomain]
- GLOG - C ++ Реализация модуля журнала Google.
- HACLOG - чрезвычайно быстрая библиотека журнала Clain C. [МИТ]
- Log4cpp - библиотека классов C ++ для гибкого ведения журнала для файлов, syslog, idsa и других направлений. [LGPL]
- log4cplus - простой в использовании API ведения журнала C ++, предоставляющий потоки, FL, FL