Impresionante C ++
Una lista seleccionada de increíbles marcos, bibliotecas, recursos y elementos brillantes de C++ (o C). Inspirado en cosas increíbles.
- Impresionante C ++
- Bibliotecas estándar
- Marcos
- Inteligencia artificial
- Bucle de eventos asincrónicos
- Audio
- Biología
- BitTorrent
- Química
- CLI
- Compresión
- concurrencia
- Configuración
- Contenedores
- Criptografía
- CSV
- Base de datos
- Visualización de datos
- Depurar
- Documentación
- DSP
- Fuente
- Motor de juego
- Gráfico
- GUI
- Gráficos
- Procesamiento de imágenes
- Internacionalización
- Comunicación entre procesos
- JSON
- Explotación florestal
- Aprendizaje automático
- Matemáticas
- Asignación de memoria
- Multimedia
- Redes
- XML abierto de oficina
- PDF
- Física
- Reflexión
- Expresión regular
- Robótica
- Computación científica
- secuencias de comandos
- Publicación por entregas
- Puerto serie
- Clasificación
- Video
- Máquinas virtuales
- Marco de aplicaciones web
- XML
- Yaml
- Misceláneas
- Software
- Compilador
- Compilador en línea
- Depurador
- Entorno de desarrollo integrado
- Construir sistemas
- Análisis de código estático
- Herramientas de estilo de codificación
- Recursos
- Diseño API
- Artículos
- Libros
- Estándares de codificación
- Estilo de codificación
- Pódcasts
- Negociaciones
- Vídeos
- Sitios web
- blogs
- Otros proyectos impresionantes
- Otras listas impresionantes
- Empleos
- Patrocinadores
- Contribuyendo: si ve un proyecto o enlace aquí que ya no se mantiene o no encaja bien, envíe una solicitud de extracción para mejorar este documento. ¡Gracias!
Bibliotecas estándar
Biblioteca estándar de C++, que incluye contenedores STL, algoritmos STL, funciones STL, etc.
- Biblioteca estándar de C++: una colección de clases y funciones, que están escritas en el lenguaje central y forman parte del propio estándar ISO de C++.
- Biblioteca de plantillas estándar: la biblioteca de plantillas estándar (STL).
- Biblioteca C POSIX: especificación de una biblioteca estándar C para sistemas POSIX.
- Comité de Normas ISO C++ - ISO/IEC JTC1/SC22/WG21 - Comité de Normas C++. sitio web
- La Biblioteca GNU C: el propósito de este manual es indicarle cómo utilizar las funciones de la Biblioteca GNU C.
Marcos
Bibliotecas y marcos genéricos de C++.
- abseil-cpp - Bibliotecas comunes de Abseil C++. [Apache2]
- Biblioteca estándar Apache C++: STDCXX, una colección de algoritmos, contenedores, iteradores y otros componentes fundamentales. [retirado] [Apache2]
- APR: tiempo de ejecución portátil de Apache. Otra biblioteca de funciones de utilidad multiplataforma. [Apache2]
- ASL: Adobe Source Libraries proporciona bibliotecas fuente de C++ portátiles y revisadas por pares. [MIT]
- Boost ⚡: una gran colección de bibliotecas genéricas de C++. [Impulsar] sitio web
- BDE: el entorno de desarrollo BDE de Bloomberg Labs. [Apache2]
- Flujo de trabajo de C++ ⚡: motor de redes asíncronas y computación paralela de C++. [Apache2]
- CGraph: un marco DAG multiplataforma basado en C++ sin ningún tercero. [MIT]
- Cinder: una biblioteca de código abierto, gratuita y desarrollada por la comunidad para codificación creativa de calidad profesional. [BSD]
- Coost: una pequeña biblioteca de impulso en C++11. [MIT]
- Cxxomfort: una pequeña biblioteca de solo encabezado que admite varias funciones desde los estándares C++ más recientes hasta C++03 y versiones posteriores. [MIT]
- Dlib ⚡: un conjunto de herramientas para crear aplicaciones de análisis de datos y aprendizaje automático del mundo real en C++. [Impulsar] sitio web
- EASTL: biblioteca de plantillas estándar de Electronic Arts. [BSD]
- ETL: biblioteca de plantillas integrada. [MIT]
- ffead-cpp: marco para el desarrollo de aplicaciones empresariales. [Apache2]
- Folly: una biblioteca C++ de código abierto desarrollada y utilizada en Facebook. [Apache2]
- FunctionalPlus: biblioteca de programación funcional para C++. Escriba código C++ conciso y legible. [MIT]
- GLib: GLib proporciona los componentes básicos de aplicaciones para bibliotecas y aplicaciones escritas en C. [LGPL]
- itlib: una colección de bibliotecas C++ de encabezado único tipo estándar [MIT]
- JUCE: una biblioteca de clases C++ integral para desarrollar software multiplataforma. Sitio web [Módulo principal: ISC, resto: GPL2/GPL3/Proprietary]
- Marco Kigs: un marco RAD multiplataforma modular multipropósito C++ gratuito y de código abierto. Sitio web [MIT]
- libPhenom - libPhenom es un marco de eventos para crear sistemas de alto rendimiento y alta escalabilidad en C. [Apache2]
- LibSourcey: E/S con eventos C++11 para transmisión de vídeo en tiempo real y aplicaciones de red de alto rendimiento. [LGPL]
- LibU: una biblioteca de utilidades multiplataforma escrita en C. [BSD]
- libxutils: biblioteca C multiplataforma simple pero potente que proporciona estructuras de datos, algoritmos y mucho más. [MIT]
- Loki: una biblioteca de diseños en C++ que contiene implementaciones flexibles de patrones y modismos de diseño comunes. [MIT]
- MiLi: biblioteca C++ mínima de encabezados únicamente. [Aumentar]
- OpenFrameworks: un conjunto de herramientas multiplataforma de código abierto para codificación creativa en C++. Sitio web [MIT]
- Qt ⚡: una aplicación multiplataforma y un marco de interfaz de usuario. Sitio web [GPL/LGPL/Propietario]
- Motivo: un marco multiplataforma diseñado para brindar la facilidad de uso de Java, .Net o Python a los desarrolladores que requieren el rendimiento y la solidez de C++. [GPL2]
- ROOT: un conjunto de marcos OO con toda la funcionalidad necesaria para manejar y analizar grandes cantidades de datos de una manera muy eficiente. Utilizado en el CERN. [LGPL]
- rpp: reemplazo mínimo de STL de C++20 inspirado en Rust. [MIT]
- SaneCppLibraries: un conjunto de bibliotecas de abstracción de la plataforma C++ para macOS, Windows y Linux. Sitio web [MIT]
- Seastar: un marco C++ avanzado de código abierto para aplicaciones de servidor de alto rendimiento en hardware moderno. [Licencia Apache-2.0] seastar.io
- STLport: una versión ejemplar de STL. [Gratis]
- STXXL: biblioteca de plantillas estándar para conjuntos de datos extragrandes. [Aumentar]
- tbox: una biblioteca c multiplataforma simplista. Sitio web [Apache2]
- Ultimate++: un marco de desarrollo rápido de aplicaciones multiplataforma en C++. [BSD]
- Biblioteca de plantillas de Windows: una biblioteca de C++ para desarrollar aplicaciones de Windows y componentes de interfaz de usuario. [Público]
- Yomm2: métodos múltiples rápidos, ortogonales y abiertos. Reemplaza a Yomm11 [Impulso]
Inteligencia artificial
- ANNetGPGPU: una biblioteca de redes neuronales artificiales basada en GPU (CUDA). [LGPL]
- btsk - Kit de inicio del árbol de comportamiento del juego. [zlib]
- Objetos en evolución: una biblioteca de cálculo evolutivo ANSI-C++ basada en plantillas que le ayuda a escribir sus propios algoritmos de optimización estocástica increíblemente rápido. [LGPL]
- frugally-deep: biblioteca de solo encabezado para usar modelos Keras en C++. [MIT]
- Genann: biblioteca de redes neuronales simple en C. [zlib]
- MXNet: aprendizaje profundo móvil, distribuido, ligero, portátil y flexible con programador de departamento de flujo de datos dinámico y consciente de las mutaciones; para Python, R, Julia, Scala, Go, JavaScript y más. sitio web
- PyTorch: tensores y redes neuronales dinámicas en Python con fuerte aceleración de GPU. sitio web
- linterna: Linterna es una biblioteca de aprendizaje automático rápida y flexible escrita completamente en C++. [BSD]
- Recast/Detour - (3D) Generador de malla de navegación y buscador de rutas, principalmente para juegos. [zlib]
- TensorFlow: una biblioteca de software de código abierto para cálculo numérico utilizando gráficos de flujo de datos. [Apache]
- oneDNN: una biblioteca de rendimiento multiplataforma de código abierto para aplicaciones de aprendizaje profundo. Sitio web [Apache]
- CNTK: Microsoft Cognitive Toolkit (CNTK), un kit de herramientas de aprendizaje profundo de código abierto. [Aumentar]
- tiny-dnn: un marco de aprendizaje profundo sin dependencias y solo encabezado en C++11. [BSD]
- Veles: plataforma distribuida para el desarrollo rápido de aplicaciones de aprendizaje profundo. [Apache]
- Kaldi: kit de herramientas para el reconocimiento de voz. [Apache]
Bucle de eventos asincrónicos
- Asio: una biblioteca C++ multiplataforma para red y programación de E/S de bajo nivel que proporciona a los desarrolladores un modelo asincrónico consistente utilizando un enfoque moderno de C++. [Impulsar] sitio web
- Boost.Asio: una biblioteca C++ multiplataforma para red y programación de E/S de bajo nivel. [Impulsar] sitio web
- C++ Actor Framework: una implementación de código abierto del modelo de actor en C++. Sitio web [BSD-3-Cláusula]
- Ichor: una cola de eventos que se centra en la seguridad de los subprocesos y proporciona inyección de dependencia. [MIT]
- libev: un bucle de eventos con todas las funciones y alto rendimiento que está modelado libremente a partir de libevent, pero sin sus limitaciones ni errores. [BSD y GPL]
- libevent: una biblioteca de notificación de eventos. [BSD]
- libhv: biblioteca de bucles de eventos multiplataforma. [BSD]
- libuv: E/S asíncrona multiplataforma. [BSD]
- promesa-cpp: biblioteca de solo encabezado que implementa el estándar Promise/A+. [Anti-996]
- uvw: contenedor de C++ para libuv. [MIT]
- uv-cpp: una interfaz sencilla y una biblioteca de red de alto rendimiento basada en C++11. [MIT]
Audio
Audio, sonido, música, bibliotecas de voz digitalizadas
- Amplitude Audio SDK: un motor de audio multiplataforma diseñado teniendo en cuenta las necesidades de los juegos. Sitio web [Apache-2.0]
- Aubio: una biblioteca para análisis de audio y música. Sitio web [GPL-3.0]
- AudioFile: una biblioteca C++ sencilla para leer y escribir archivos de audio. [MIT]
- audioFlux: biblioteca AC para análisis de audio y música, extracción de funciones. [MIT]
- dr_libs: bibliotecas de decodificación de audio de un solo archivo para C y C++. [Sin licencia]
- FMOD: un motor de audio multiplataforma fácil de usar y una herramienta de creación de contenido de audio para juegos. [Gratis para no comerciales/comerciales]
- KFR: marco DSP C++ rápido y moderno, FFT, filtros FIR/IIR, conversión de frecuencia de muestreo. [GPL/Propietario]
- LAME - LAME es un codificador MPEG Audio Layer III (MP3) de alta calidad. [LGPL]
- libsndfile: biblioteca C con contenedor C++ para leer y escribir archivos que contienen sonido muestreado a través de una interfaz de biblioteca estándar. Sitio web [LGPL-2.1]
- libsoundio: biblioteca C para entrada y salida de audio en tiempo real multiplataforma. Sitio web [MIT]
- Maximilian - Biblioteca DSP de audio y música en C++. [MIT]
- OpenAL - Open Audio Library - Una API de audio multiplataforma. [BSD/LGPL/Propietario]
- miniaudio: biblioteca de captura y reproducción de audio de un solo archivo. Sitio web [sin licencia]
- ni-media: biblioteca C++ para leer y escribir archivos de audio. [MIT]
- Opus: un códec de audio totalmente abierto, libre de derechos y muy versátil. [BSD]
- PortAudio: PortAudio es una biblioteca de E/S de audio gratuita, multiplataforma y de código abierto. [MIT]
- rnnoise: red neuronal recurrente para reducción de ruido de audio. [BSD-3-Cláusula]
- SELA: audio simple sin pérdidas. [MIT]
- SoLoud: motor de audio sencillo y portátil para juegos. [zlib]
- Speex: un códec gratuito para la libertad de expresión. Obsoleto por Opus. [BSD]
- Tonic: síntesis de audio fácil y eficiente en C++. [Sin licencia]
- Vorbis: Ogg Vorbis es un formato de audio comprimido de uso general, totalmente abierto, no propietario, libre de patentes y derechos de autor. [BSD]
- minimp3: decodificador MP3 de dominio público, solo encabezado, con implementación de sala limpia. [CC0]
- Verovio: Verovio es una biblioteca de grabado de notación musical rápida y liviana. Sitio web [LGPL]
- Wav2Letter++: dominio público, un conjunto de herramientas de procesamiento de voz rápido y de código abierto escrito completamente en C++ y que utiliza la biblioteca de tensores ArrayFire y la biblioteca de aprendizaje automático de linterna para lograr la máxima eficiencia. [BSD]
Biología
Bioinformática, Genómica, Biotecnología
- BioC++: bibliotecas computacionales C++ para bioinformática. [BSD]
- Casto: una biblioteca C++ de código abierto para la simulación computacional de modelos matemáticos desarrollados para fisiología y biología. [BSD]
- libsequence: una biblioteca de C++ para representar y analizar datos de genética de poblaciones. [GPL]
- SeqAn - Algoritmos y estructuras de datos para el análisis de secuencias con enfoque en datos biológicos. [BSD/3-cláusula]
- Vcflib: una biblioteca de C++ para analizar y manipular archivos VCF. [MIT]
- Wham: variantes estructurales (SV) en genomas mediante la aplicación directa de pruebas de asociación a archivos BAM. [MIT]
BitTorrent
- jech/dht - Biblioteca BitTorrent DHT en C. [MIT]
- libtorrent (también conocido como libtorrent-rasterbar): una característica eficiente que completa la implementación de bittorrent en C++. [BSD]
- LibTorrent (también conocido como libtorrent-rakshasa): biblioteca BitTorrent. [GPL]
- libutp: biblioteca del protocolo de transporte uTorrent. [MIT]
Química
Química, Química Cuántica, Química/Física del Estado Sólido, Geoquímica, Bioquímica
- d-SEAMS: un motor de análisis de trayectorias de dinámica molecular en C++ y Lua con Nix. Es un acrónimo de Análisis de Elucidación Estructural Diferida para Simulaciones Moleculares. Sitio web [GPL]
- gromacs: una implementación de dinámica molecular paralela de paso de mensajes. Sitio web [GPL]
- Reaktoro: un marco computacional en C++ y Python para modelar sistemas químicamente reactivos. Sitio web [LGPL]
- LAMMPS: un código de dinámica molecular clásico centrado en el modelado de materiales. Es un acrónimo de Simulador masivo paralelo atómico/molecular a gran escala. Sitio web [GPL]
- MADNESS - Entorno numérico adaptativo multiresolución para simulación científica. Sitio web [GPL]
- MPQC: el programa de química cuántica masivamente paralela, MPQC, calcula las propiedades de átomos y moléculas a partir de los primeros principios utilizando la ecuación de Schrödinger independiente del tiempo. Sitio web [GPL]
- ORCA: un paquete de programa de química cuántica ab initio que contiene métodos modernos de estructura electrónica. Sitio web [académico]
- Psi: un paquete de química computacional ab initio. Sitio web [GPL]
CLI
Interfaz de usuario de consola/terminal, interfaz de línea de comandos
- ¡Argh! - Un manejador de argumentos minimalista, libre de frustraciones y solo de encabezado. [BSD]
- argparse: analizador de argumentos para C++ moderno. [MIT]
- args: una biblioteca analizadora de argumentos C++ simple de encabezado. [MIT]
- barkeep: pequeño encabezado de C++ para mostrar animaciones asíncronas, contadores y barras de progreso. Sitio web [Apache-2.0]
- Boost.Program_options: una biblioteca para obtener opciones de programas mediante métodos convencionales, como la línea de comandos y el archivo de configuración. [Impulsar] sitio web
- cli: una biblioteca C++ 14 de encabezado multiplataforma para interfaces de línea de comandos interactivas (estilo Cisco). [Aumentar]
- CLI11: biblioteca C++11 de uno o varios archivos con solo encabezado para un análisis CLI simple y avanzado. [BSD]
- clipp: manejo de argumentos de línea de comando expresivo, potente y fácil de usar para C++ 14/11/17 contenido en un único archivo de encabezado. [MIT]
- cpp-terminal: biblioteca C++ de encabezado pequeño para escribir aplicaciones de terminal multiplataforma. [MIT]
- Ctrl+C: biblioteca multiplataforma C++11 para manejar el evento Ctrl+C en funciones personalizadas. [MIT]
- cxxopts: analizador ligero de opciones de línea de comandos de C++. [MIT]
- docopt.cpp: una biblioteca para generar un analizador de opciones a partir de una cadena de documentos. [MIT/Impulso]
- FINAL CUT: biblioteca para crear aplicaciones de terminal con widgets basados en texto. [LGPL]
- FTXUI: interfaz de usuario de terminal funcional C++. [MIT]
- gflags: módulo de indicadores de línea de comandos para C++. [BSD]
- imtui: interfaz de usuario basada en texto en modo inmediato. [MIT]
- indicadores - Indicadores de actividad para C++ moderno. [MIT]
- linenoise: una pequeña alternativa independiente a readline y libedit. [Cláusula BSD-2]
- linenoise-ng: un reemplazo de línea de lectura GNU pequeño y portátil para Linux, Windows y MacOS que es capaz de manejar caracteres UTF-8. [BSD]
- Lyra: un analizador de línea de comandos componible y fácil de usar para C++ 11 y posteriores. [Aumentar]
- Ncurses: una interfaz de usuario de terminal. [MIT]
- oof - Control de posición y color RGB conveniente y de alto rendimiento para la salida de la consola. [MIT]
- PDCurses: biblioteca de curses de dominio público con código fuente y biblioteca precompilada disponibles. [Dominio público]
- popl: argumentos de línea de comando con plantilla de encabezado único y analizador de archivos ini para C++ 11 y versiones posteriores. [MIT]
- replxx: un reemplazo de readline y libedit que admite UTF-8, resaltado de sintaxis, sugerencias y funciona en Unix y Windows. [BSD]
- tabular - Creador de tablas para C++ moderno. [MIT]
- TCLAP: una biblioteca madura, estable y rica en funciones para definir y acceder a argumentos de línea de comandos en ANSI C++. [MIT]
- termbox: biblioteca AC para escribir interfaces de usuario basadas en texto. [MIT]
- TermOx: biblioteca de interfaz de usuario de terminal (TUI) C ++ 17. [MIT]
- tuibox: una biblioteca de interfaz de usuario de terminal (TUI) de encabezado único, capaz de crear aplicaciones interactivas controladas por mouse en la línea de comandos. [MIT]
Compresión
Bibliotecas de compresión y archivo
- bit7z: una biblioteca estática de C++ que ofrece una interfaz limpia y sencilla para las bibliotecas compartidas de 7-zip. [MPL2]
- Brotli: formato de compresión Brotli. Desarrollado por Google. [MIT]
- bzip2: un compresor de datos de alta calidad, libre de patentes y disponible gratuitamente. [BSD]
- bzip3: un sucesor espiritual mejor y más fuerte de BZip2. [LGPL]
- FastLZ: compresión LZ77 pequeña y portátil alineada con bytes. [MIT]
- FiniteStateEntropy: códecs de entropía de nueva generación: Finite State Entropy y Huff0.
- heatshrink: biblioteca de compresión de datos para sistemas integrados/en tiempo real [ISC]
- Kanzi: un compresor de datos sin pérdidas moderno, modular, portátil y eficiente implementado en C++. [Apache-2.0]
- KArchive: una biblioteca para crear, leer, escribir y manipular archivos como zip y tar. También proporciona compresión y descompresión transparente de datos, utilizando formatos como gzip, a través de una subclase de QIODevice. [LGPL]
- libarchive: biblioteca de compresión y archivo multiformato. Sitio web [Nuevo BSD]
- LZ4: algoritmo de compresión extremadamente rápido. Sitio web [BSD]
- LZFSE: biblioteca de compresión LZFSE y herramienta de línea de comandos. Desarrollado por Apple.
- LZHAM: biblioteca de compresión de datos sin pérdidas con una relación de compresión similar a LZMA pero con una descompresión mucho más rápida. [BSD]
- LZMA ⚡: el método de compresión general y predeterminado del formato 7z. Sitio web [Dominio público]
- LZMAT: una biblioteca de compresión de datos sin pérdidas en tiempo real extremadamente rápida. [GPL]
- miniz: biblioteca de compresión Deflate/Inflate de archivo fuente C único con API compatible con zlib, lectura/escritura de archivos ZIP, escritura PNG. [MIT]
- Minizip: Zlib con las últimas correcciones de errores que admite expansión de disco PKWARE, cifrado AES y almacenamiento en búfer IO. [zlib]
- minizip-ng: bifurcación de la popular biblioteca de manipulación de zip que se encuentra en la distribución zlib. [zlib]
- PhysicsFS: una biblioteca para proporcionar acceso abstracto a varios archivos. Está pensado para su uso en videojuegos y el diseño se inspiró en cierto modo en el subsistema de archivos de Quake 3. [zlib]
- Rapidgzip: descompresión Gzip y acceso aleatorio para máquinas modernas de múltiples núcleos. [Apache-2/MIT]
- smaz: biblioteca de compresión de cadenas pequeñas. [BSD]
- Snappy: un compresor/descompresor rápido. [BSD]
- ZLib: una biblioteca de compresión muy compacta para flujos de datos. [zlib]
- zlib-ng - zlib para los sistemas de "próxima generación". Reemplazo directo con algunas optimizaciones importantes. [zlib]
- zstd - Zstandard - Algoritmo de compresión rápido en tiempo real. Desarrollado por Facebook. [BSD]
- ZZIPlib: proporciona acceso de lectura a archivos ZIP. [MPL/LGPL]
concurrencia
Concurrencia y subprocesos múltiples
- alpaka: biblioteca de abstracción para aceleración paralela del kernel. [LGPLv3+]
- ArrayFire: una biblioteca de GPU de uso general. [BSD]
- Async++: un marco de concurrencia liviano para C++ 11, inspirado en la biblioteca PPL de Microsoft y la propuesta estándar N3428 C++. [MIT]
- Boost.Compute: una biblioteca de informática GPU C++ para OpenCL. [Impulsar] sitio web
- Bolt: una biblioteca de plantillas de C++ optimizada para GPU. [Apache2]
- BS::thread_pool: una biblioteca de grupos de subprocesos C++17 rápida, ligera y fácil de usar [MIT]
- Canal: contenedor seguro para subprocesos para compartir datos entre subprocesos. [MIT]
- ck: primitivas de concurrencia, mecanismos seguros de recuperación de memoria y estructuras de datos sin bloqueo. [BSD]
- concurrentqueue: una cola simultánea rápida y sin bloqueos para múltiples productores y consumidores para C++11. [BSD,Impulso]
- Coros: una biblioteca rápida y fácil de usar para paralelismo basado en tareas, que utiliza corrutinas. [BSL-1.0]
- CUB: CUB proporciona componentes de software reutilizables de última generación para cada capa del modo de programación CUDA. [Nuevo BSD]
- cuda-api-wrappers: contenedores ligeros y modernos de C++ para la API de tiempo de ejecución de programación de GPU CUDA. [BSD]
- cupla - API de C++ para ejecutar CUDA/C++ en OpenMP, Threads, TBB, ... a través de Alpaka. [LGPLv3+]
- C++React: una biblioteca de programación reactiva para C++11. [Aumentar]
- FiberTaskingLib: biblioteca multiproceso basada en tareas que admite gráficos de tareas con dependencias arbitrarias. [Apache]
- HPX: un sistema de ejecución C++ de uso general para aplicaciones paralelas y distribuidas de cualquier escala. [Aumentar]
- Programador de tareas de juegos Intel: un marco de programación de tareas diseñado para las necesidades de los desarrolladores de juegos. [MIT]
- Intel Parallel STL: implementación Intel® de C++17 STL para C++11 y superiores. [Apache2]
- Intel TBB: bloques de construcción de subprocesamiento Intel®. [Apache2]
- junction: una biblioteca de estructuras de datos concurrentes en C++. [BSD]
- Kokkos: un modelo de programación portátil de rendimiento para ejecución paralela y abstracción de memoria. [BSD]
- libcds: una biblioteca C++ de estructuras de datos concurrentes. [BSD]
- Libclsph: una biblioteca de simulación de fluidos SPH acelerada por GPU basada en OpenCL. [MIT]
- libdill: introduce la concurrencia estructurada en C. [MIT]
- libdispatch: Grand Central Dispatch (GCD), desarrollado por Apple Inc., es una tecnología de paralelismo de tareas basada en el patrón de grupo de subprocesos. libdispatch es una biblioteca que proporciona la implementación de los servicios de GCD. Sitio web [Apache-2.0]
- libfork: una biblioteca de tareas de última generación, sin bloqueos, sin esperas y con robo de continuidad, construida sobre las rutinas de C++20. Sitio web [MPL-2.0]
- libmill: introduce la concurrencia estilo Go en C. [MIT]
- marl - Marl es un programador de tareas híbrido de hilo/fibra escrito en C++ 11. [Apache-2.0]
- moderngpu: moderngpu es una biblioteca de productividad para informática de uso general en GPU. Es una biblioteca C++ de solo encabezado escrita para CUDA. El valor único de la biblioteca reside en sus primitivas aceleradas para resolver problemas irregularmente paralelos. [FreeBSD y derechos de autor, Sean Baxter]
- NCCL: primitivas optimizadas para comunicación colectiva multi-GPU. [BSD]
- Neco: biblioteca de concurrencia para C (corrutinas). [MIT]
- OpenCL: el estándar abierto para la programación paralela de sistemas heterogéneos.
- OpenMP: la API de OpenMP.
- rotor: microestructura de actor C++ compatible con bucles de eventos. [MIT]
- SObjectizer: una implementación de los modelos Actor, Publish-Subscribe y CSP en un marco C++ bastante pequeño. [BSD-3-Cláusula]
- Quantum: un potente marco de distribución de rutinas de C++ construido sobre Boost.Coroutine2.
- RaftLib: la biblioteca RaftLib C++, concurrencia de flujo de datos/transmisión a través de operadores similares a iostream de C++. [Apache2]
- lectorescritorqueue: una cola rápida y sin bloqueos de un solo productor y un solo consumidor para C++. [BSD]
- stdgpu: estructuras de datos eficientes tipo STL en la GPU. [Apache2]
- Taskflow: un sistema de programación de tareas heterogéneo y paralelo de uso general. (renombrado de Cpp-Taskflow) [MIT]
- ThreadPool: una implementación simple de grupo de subprocesos de C++ 11 [zlib]
- Thrust: una biblioteca de algoritmos paralelos que se asemeja a la biblioteca de plantillas estándar (STL) de C++. [Apache2]
- transwarp: una biblioteca C++ de solo encabezado para la simultaneidad de tareas. [MIT]
- VexCL: una biblioteca de plantillas de expresiones vectoriales en C++ para OpenCL/CUDA. [MIT]
- STAPL: un marco de programación paralela en C++ diseñado para funcionar en computadoras paralelas con memoria compartida y distribuida. [BSD]
- concurrencpp: una biblioteca de concurrencia general que contiene tareas, ejecutores, temporizadores y rutinas de C++20 para gobernarlos a todos.
Configuración
Archivos de configuración, archivos INI
- inifile-cpp: un analizador de archivos Ini para C++ fácil de usar y de solo encabezado. [MIT]
- inih: analizador de archivos .INI simple en C, bueno para sistemas integrados. [BSD-3-Cláusula]
- inih: versión C++ de un solo encabezado de inih. [BSD-3-Cláusula]
- ini-cpp: versión C++ de un solo encabezado, con una práctica interfaz de lectura/escritura, que se extiende desde inih. Sitio web [BSD-3-Cláusula]
- iniparser - analizador de archivos INI. [MIT]*
- inipp: analizador y generador de ini C++ simple de solo encabezado. [MIT]
- libconfig: biblioteca C, C++ para procesar archivos de configuración estructurados. Sitio web [LGPL-2.1]
- libconfuse: pequeña biblioteca analizadora de archivos de configuración para C. [ISC]
- mini - Lector y escritor de archivos INI. [MIT]
- simpleini: biblioteca C++ multiplataforma que proporciona una API sencilla para leer y escribir archivos de configuración de estilo INI. [MIT]
- toml++: analizador y serializador TOML de solo encabezado para C++ 17 y versiones posteriores. Sitio web [MIT]
- toml11: un analizador/codificador toml de encabezado C++ 11 (o posterior) que depende únicamente de la biblioteca estándar de C++. [MIT]
Contenedores
- C++ B-tree: una biblioteca de plantillas que implementa contenedores ordenados en memoria basados en una estructura de datos de árbol B. [Apache2]
- dynamic_bitset: bibliotecas útiles y sencillas: conjunto de bits dinámicos de solo encabezado C++17/20. Sitio web [MIT]
- contenedores fijos: biblioteca C++ 20 de solo encabezado que proporciona contenedores constexpr de capacidad fija. [MIT]
- flat_hash_map: una tabla hash plana muy rápida con hash de Fibonacci.
- frozen: una alternativa constexpr de solo encabezado a gperf para usuarios de C++14. [Apache-2.0]
- Hashmaps: implementación de algoritmos de tabla hash de direccionamiento abierto en C++. [MIT]
- hat-trie: implementación en C++ de un HAT-trie rápido y eficiente en memoria. [MIT]
- Mapa de rayuela: un mapa hash rápido de solo encabezado que utiliza hash de rayuela para la resolución de colisiones. [MIT]
- LSHBOX: una caja de herramientas de C++ de hash sensible a la localidad (LSH), que proporciona varios algoritmos LSH populares y también es compatible con Python y MATLAB. [GPL]
- paralelo-hashmap: una familia de contenedores hashmap y btree de solo encabezado, muy rápidos y con fácil memoria [Apache2]
- Índice PGM: una estructura de datos que permite búsquedas rápidas, predecesores, búsquedas de rango y actualizaciones en conjuntos de miles de millones de elementos utilizando órdenes de magnitud menos de espacio que los índices tradicionales. Sitio web [Apache2]
- plf::colony: un contenedor tipo "bolsa" desordenado que supera a los contenedores estándar en escenarios de alta modificación mientras mantiene punteros permanentes a elementos no borrados independientemente de la inserción/borrado. Sitio web [zLib]
- plf::list: una implementación de std::list que elimina el empalme de rangos para permitir una estructura más amigable con el caché, lo que genera ganancias de rendimiento significativas. Sitio web [zLib]
- plf::stack: un contenedor de reemplazo para el adaptador de contenedor std::stack, con mejor rendimiento que cualquier contenedor estándar en un contexto de pila. Sitio web [zLib]
- ring_span lite: una implementación simplificada de la implementación ring_span de Arthur O'Dwyer, es decir. una vista de buffer circular. [MIT]
- robin-hood-hashing: tabla hash rápida y eficiente en memoria basada en el hash de Robin Hood para C++14. [MIT]
- robin-map: mapa de hash rápido y conjunto de hash utilizando hash de Robin Hood. [MIT]
- sparsepp: un mapa hash rápido y eficiente en memoria para C++. [BSD 3-cláusula]
- st_tree: una clase de plantilla de C++ rápida y flexible para estructuras de datos de árbol. [Apache-2.0]
- svector: vector compacto optimizado para SVO para C++17 o superior. [MIT]
- tree.hh: una biblioteca de árbol de solo encabezados C++ tipo STL. [GPL2+]
- unordered_dense: un hashmap y un conjunto de hash rápidos y densamente almacenados basados en la eliminación por desplazamiento hacia atrás de Robin-hood. [MIT]
Criptografía
Bibliotecas de criptografía y cifrado
- Bcrypt: una utilidad de cifrado de archivos multiplataforma. Los archivos cifrados son portátiles en todos los sistemas operativos y procesadores compatibles. [BSD]
- BeeCrypt: una biblioteca de criptografía rápida y portátil. [LGPLv2.1+]
- Botan: una biblioteca criptográfica para C++. [BSD-2]
- Crypto++: una biblioteca gratuita de esquemas criptográficos de clase C++. [Impulsar] sitio web
- digestpp: biblioteca de resumen de mensajes (hash) de solo encabezado de C++11. [Dominio público]
- GnuPG: una implementación completa y gratuita del estándar OpenPGP. [GPL]
- GnuTLS: una biblioteca de comunicaciones segura que implementa los protocolos SSL, TLS y DTLS. [LGPL2.1]
- Libgcrypt: una biblioteca criptográfica de propósito general basada originalmente en código de GnuPG. [LGPLv2.1+]
- LibreSSL: una versión gratuita del protocolo SSL/TLS bifurcado de OpenSSL en 2014. [?]
- libsodium: biblioteca criptográfica basada en NaCl (portátil|ackageable), obstinada y fácil de usar. [ISC]
- libhydrogen: una biblioteca criptográfica ligera, segura y fácil de usar adecuada para entornos restringidos. [ISC]
- LibTomCrypt: un conjunto de herramientas criptográficas bastante completo, modular y portátil. [WTFPL]
- mbedTLS: una biblioteca SSL de código abierto, portátil, fácil de usar, legible y flexible, anteriormente conocida como PolarSSL. Sitio web [Apache2]
- Nettle: una biblioteca criptográfica de bajo nivel. [LGPL]
- OpenSSL: una biblioteca de criptografía de código abierto, sólida, de calidad comercial y con todas las funciones. Sitio web [Apache]
- retter: una colección de funciones hash, cifrados, herramientas, bibliotecas y materiales relacionados con la criptografía.
- s2n: una implementación de los protocolos TLS/SSL. [Apache]
- sha1collisiondetection: biblioteca y herramienta de línea de comandos para detectar colisiones SHA-1 en un archivo. [MIT]
- Tink: una biblioteca multilingüe y multiplataforma que proporciona API criptográficas que son seguras, fáciles de usar correctamente y difíciles (más) de usar incorrectamente. [Apache-2.0]
- Tiny AES en C - Pequeño portátil AES128/192/256 en C. [PublicDomain]
- Themis: biblioteca criptográfica para una seguridad de datos sencilla, que proporciona cifrado simétrico y asimétrico, sockets seguros con secreto directo, para plataformas móviles y de servidor. [Apache2]
- HEhub: una biblioteca para cifrado homomórfico y sus aplicaciones. [Apache2]
CSV
Bibliotecas para analizar archivos de valores separados por comas (CSV)
- coma: solo otro analizador CSV C++ 17 de solo encabezado. [Sin licencia]
- csv2: analizador CSV rápido para C++ moderno. [MIT]
- Csv::Parser: analizador CSV en tiempo de compilación y ejecución escrito en C++17. [Zlib]
- Analizador CSV rápido de C++: biblioteca pequeña, fácil de usar y rápida de solo encabezado para leer archivos CSV. [BSD-3-Cláusula]
- Glaze: biblioteca CSV de alto rendimiento, solo encabezado, con soporte de reflexión. [MIT]
- lazycsv: un analizador csv rápido, liviano y de un solo encabezado para C++ moderno. [MIT]
- ssp: un analizador "csv" de solo encabezado que es rápido y versátil con la API moderna de C++. [MIT]
- Analizador CSV de Vince: un analizador CSV C++17 rápido, autónomo y de transmisión con conversión de tipos y estadísticas opcionales. [MIT]
Base de datos
Bibliotecas de bases de datos, servidores SQL, controladores ODBC y herramientas
- ClickHouse: cliente C++ para ClickHouse DBMS. [Apache2]
- CrossDB: RDBMS OLTP integrado, ligero y de rendimiento ultraalto. Sitio web [MPL-2.0]
- DuckDB: sistema de gestión de bases de datos OLAP SQL en proceso. Sitio web [MIT]
- hiberlite - Mapeo relacional de objetos C++ para sqlite3. [BSD]
- Hiredis: una biblioteca cliente C minimalista para la base de datos Redis. [BSD]
- Infinity: la base de datos nativa de IA creada para aplicaciones LLM, que proporciona búsquedas vectoriales y de texto completo increíblemente rápidas. [Apache2]
- Kuzu: sistema de gestión de bases de datos de gráficos de propiedades integrable creado para ofrecer velocidad de consulta y escalabilidad. Implementa Cypher. Sitio web [MIT]
- Kvrocks: una base de datos NoSQL de valor clave distribuida que utiliza RocksDB como motor de almacenamiento y es compatible con el protocolo Redis. [Apache2]
- LevelDB: una biblioteca rápida de almacenamiento de valores-clave escrita en Google que proporciona una asignación ordenada de claves de cadena a valores de cadena. [BSD]
- libpg_query: biblioteca C para acceder al analizador PostgreSQL fuera del entorno del servidor. [BSD-3-Cláusula]
- libpqxx: la API de cliente C++ oficial para PostgreSQL. [BSD-3-Cláusula]
- LMDB: almacén de claves/valores integrado muy rápido con semántica ACID completa. [Abrir LDAP]
- LMDB++: contenedor C++11 para la biblioteca de bases de datos integrada LMDB. [Dominio público]
- mgclient - Cliente Memgraph C/C++. [Apache2]
- Controlador MongoDB C: biblioteca cliente MongoDB para C. [Apache2]
- Controlador MongoDB C++: controlador C++ para MongoDB. [Apache2]
- MongoDB Libbson: una biblioteca de utilidades BSON. [Apache2]
- MySQL++: un contenedor de C++ para la API C de MySQL. [LGPL]
- nanodbc: un pequeño contenedor de C++ para la API ODBC de C nativa. [MIT]
- ODB: un sistema de mapeo relacional de objetos (ORM) de código abierto, multiplataforma y entre bases de datos para C++. [GPLv2]
- redis3m: contenedor de Hiredis con una interfaz limpia de C++, compatible con centinela y patrones listos para usar. [Apache2]
- Reindexer: base de datos integrable, en memoria y orientada a documentos con una interfaz de creación de consultas de alto nivel. Sitio web [Apache2]
- RocksDB: almacén clave-valor integrado para un almacenamiento rápido desde Facebook. [BSD]
- SimDB: alto rendimiento, memoria compartida, sin bloqueos, multiplataforma, archivo único, dependencias mínimas, almacén clave-valor C++11. [Apache2]
- SOCI: una capa de abstracción de base de datos para C++. [Aumentar]
- Speedb: proyecto liderado por la comunidad: un almacén de valores clave integrado, escalable y de alto rendimiento compatible con RocksDB. [Apache2]
- SQLite: una base de datos relacional completamente integrada y con todas las funciones en unos pocos 100k que puede incluir directamente en su proyecto. [Dominio público]
- SQLiteC++: SQLiteC++ (SQLiteCpp) es un contenedor C++ SQLite3 inteligente y fácil de usar. [MIT]
- sqlite_modern_cpp: contenedor C++14 de solo encabezado alrededor de la biblioteca sqlite. [MIT]
- sqlite_orm: biblioteca de encabezado ligero SQLite ORM para C++ moderno. [AGPL + MIT pagado]
- sqlpp11: un lenguaje específico de dominio integrado de tipo seguro para consultas SQL y resultados en C++. [Cláusula BSD-2]
- TileDB: DBMS de matriz multidimensional rápida, densa y dispersa. Sitio web [MIT]
- TinyORM: biblioteca ORM moderna de C++. Sitio web [MIT]
- UnQLite: un motor NoSQL transaccional autónomo, sin servidor y sin configuración. Sitio web [BSD-2-Cláusula]
- upscaledb: un almacén de claves/valores "escrito" incorporado con una interfaz de consulta incorporada. [GPLv3]
- Cliente TigerBeetleDB C++ (Comunidad): TigerBeetle es una base de datos de contabilidad financiera diseñada para brindar seguridad y rendimiento de misión crítica para impulsar el futuro de los servicios financieros. [BSL-1.0]
- Trilogy: una biblioteca cliente para servidores de bases de datos compatibles con MySQL, diseñada para ofrecer rendimiento, flexibilidad y facilidad de integración. [MIT]
- UStore: base de datos multimodal para BLOB, JSON y gráficos. [Apache2]
- Velox: una biblioteca de aceleración de bases de datos vectorizadas en C++ destinada a optimizar motores de consultas y sistemas de procesamiento de datos. Sitio web [Apache-2.0]
Visualización de datos
Bibliotecas de visualización de datos
- matplotplusplus: biblioteca de gráficos C++ para visualización de datos. Sitio web [MIT]
Depurar
Bibliotecas de depuración, detección de fugas de memoria y de recursos, pruebas unitarias
- back-cpp: una hermosa impresora de seguimiento de pila para C++. [MIT]
- Bencher: un conjunto de herramientas de evaluación comparativa continua diseñadas para detectar regresiones de rendimiento en CI. [MIT]/[Apache2]
- punto de referencia: Google proporcionó una pequeña biblioteca de soporte de microbenchmark. [Apache2]
- Boost.Test: biblioteca de pruebas de impulso. [Impulsar] sitio web
- check - Check es un marco de pruebas unitarias para el sitio web C. [LGPL-2.1]
- Doctest: la característica más ligera Rich C ++ Single Header Testing Framework. [MIT]
- Catch2-Un marco moderno, C ++-nativo de prueba para pruebas unitarias, TDD y BDD. [Aumentar]
- Celero - Marco de evaluación comparativa C ++. [Apache2]
- CPP-DUMP: una biblioteca C ++ para fines de depuración que puede imprimir cualquier tipo variable e incluso definido por el usuario. [MIT]
- CPPUTEST - PRUEBA UNIDAD Y MARCO DE SOBRE DESFRUCTOR PARA C/C ++. [Cláusula BSD-3]
- Lindo - Pruebas de unidad C ++ más fáciles. [LGPL3]
- CMOCKA - Marco de pruebas unitarias para C con soporte para objetos simulados. [Apache2]
- CPPBenchmark: marco de referencia de rendimiento para C ++ con nanosegundos medir precisión. [MIT]
- CPPTRACE: una biblioteca de Stacktrace C ++ simple, portátil y autónoma que admite C ++ 11 y más. [MIT]
- CPPUNIT - Puerto C ++ de Junit. [LGPL2]
- CTEST - El programa de controlador de prueba CMake. [BSD]
- DBG -Macro - Una macro DBG (...) para C ++. [MIT]
- DEBUGVIEWPP - Visor de registro de depuración. [Aumentar]
- Deleaker: una herramienta para la detección de fugas de recursos, que incluye memoria, GDI y fugas de manejo.
- FALSEIT - Marco de burla simple para C ++. [MIT]
- FFF: un micro -marco para crear funciones C falsas. [MIT]
- Google Mock: una biblioteca para escribir y usar clases simuladas C ++. [BSD]
- Test de Google - Marco de pruebas de Google C ++. [BSD]
- IG -DEBUGHEAP: montón de depuración multiplataforma útil para rastrear errores de memoria. [BSD]
- Libassert: la biblioteca de afirmación de C ++ con más ingeniería. [MIT]
- LIBTAP - Escribir pruebas en C. [GPL2]
- Microprofile - Profiler con visión web para múltiples plataformas. [Unicence]
- Minunit: un marco de prueba unitaria mínimo para C autónomo en un solo archivo de encabezado. [MIT]
- Mockator: el complemento CDT de Eclipse para costuras C ++ y objetos simulados.
- Nanobench - Funcionalidad de microbenchmarking de látericura simple, rápida y precisa para C ++ 11/14/17/20. Sitio web [MIT]
- Nanotímero: una clase de temporizador de plataforma cruzada simple simple para la evaluación comparativa. Sitio web [ZLIB]
- Nonius: un marco de micro benchmarking C ++. [CC]
- Remotry - Profiler de archivo C único con Web Viewer. [Apache2]
- Snitch - Marco de prueba C ++ 20 liviano. [Aumentar]
- TOUCA-Sistema de prueba de regresión de código abierto que puedes autohospedar. Sitio web [Apache2]
- Unittest ++: un marco de prueba unitario ligero para C ++. [Licencia de consorcio MIT/X]
- Unidad: prueba unitaria simple para C. [MIT]
- UTEST.H - Marco de prueba de unidades de encabezado único para C y C ++. [Unicence]
- μT - C ++ 20 encabezado único/módulo único, marco de prueba μ (micro)/unidad sin macro. [Aumentar]
- VLD - Detector de fuga visual. Un sistema de detección de fuga de memoria libre, robusto y de código abierto para visual C ++.
Documentación
- Doxida: documentación moderna para C ++ moderno, Configurar con YAML, Markdown de salida. [Apache 2.0] Sitio web
- Doxygen ⚡ - La herramienta estándar de facto para generar documentación a partir de fuentes anotadas de C ++. [GPL2] Sitio web
- Doxyrest: un compilador de Doxygen XML a ReestructuredText para Sphinx. [MIT]
- HDOC: la herramienta de documentación moderna para C ++. Sitio web [AGPL/Propietario]
- Natural Docs: Natural Docs es un generador de documentación de código abierto para múltiples lenguajes de programación. Sitio web [AGPL/Propietario]
- Sphinx: Sphinx facilita la creación de documentación inteligente y hermosa. Sitio web de [BSD-2 Cláusula]
DSP
Procesamiento de señal digital.
- DSPFilters: una colección de clases útiles de C ++ para el procesamiento de señales digitales. [MIT]
- FFTW - Biblioteca AC para calcular el DFT en una o más dimensiones. [GPL]
- IIR1 - Biblioteca de filtro C ++ de IIR REALTIO. [MIT]
- KISSFFT - Una biblioteca rápida de transformación de Fourier (FFT) que intenta mantenerla simple, estúpida. [Cláusula BSD-3]
- PocketFFT - Implementación FFT basada en FFTPack, pero con varias mejoras. [Cláusula BSD-3]
- Wavelib - C Implementación de transformaciones de wavelet 1D y 2D. [Cláusula BSD-3]
Fuente
Bibliotecas para analizar y manipular archivos de fuentes.
- FONTCONFIG - Biblioteca de configuración y personalización de fuentes. Sitio web [MIT]
- Freetype: Freetype es una biblioteca de software disponible gratuitamente para representar fuentes. [FTL y GPLV2]
- OTFCC - Biblioteca y utilidad AC utilizadas para analizar y escribir archivos de fuentes OpenType. [Apache-2.0]
- Harfbuzz: un motor de formación de texto. [Antiguo MIT]
- LibsChrift: una biblioteca ligera de renderizado de fuentes TrueType. [ISC]
Motor de juego
- Ácido: un motor de juego Vulkan C ++ 17 de alta velocidad. [MIT]
- Allegro: una biblioteca multiplataforma dirigida principalmente a videojuegos y programación multimedia. [Zlib]
- Axmol Engine: un motor de juego multiplataforma para escritorio, móvil y xbox (UWP), derivado de COCOS2D-X-4.0. Sitio web [MIT]
- COCOS2D-X: un marco multiplataforma para construir juegos 2D, libros interactivos, demostraciones y otras aplicaciones gráficas. [MIT]
- CORANGE - Un motor de juego escrito en puro C, SDL y OpenGL. [BSD]
- Crown: Crown es un motor de juego basado en datos de propósito general, escrito desde cero en C ++ ortodoxo con una filosofía de diseño minimalista y orientada a datos en mente. [MIT]
- Delta3d: una plataforma de simulación robusta. [LGPL2]
- ENTT - Los juegos se encuentran con C ++ moderno. [MIT]
- Gameplay: un marco de juegos C ++ nativo de plataforma cruzada para crear juegos móviles y de escritorio 2D/3D. [Apache2]
- GOODOT: un motor de juego con licencia de código abierto, con licencia de MIT, con licencia MIT. [MIT]
- Grit - Proyecto comunitario para construir un motor de juego gratuito para implementar juegos 3D de mundo abierto. [MIT]
- Halley: un motor de juego ligero escrito en C ++ 14 con un sistema de componentes de entidad "verdaderos". [Apache 2.0]
- JNGL - Biblioteca 2D para Linux, Windows, MacOS, Android, iOS, Xbox, Nintendo Switch y la web. Sitio web [ZLIB]
- Klayge: un motor de juego de código abierto multiplataforma con arquitectura basada en complementos. Sitio web [GPLV2]
- NCINE: un motor de juego 2D multiplataforma con énfasis en el rendimiento, escrito en C ++ 11 y opcionalmente scriptable en LUA. Sitio web [MIT]
- O3DE: un motor 3D multiplataforma de código abierto, en tiempo real, basado en Amazon Lumberyard. Sitio web [Apache2]
- OpenXray: un motor de rayos X modificado por la comunidad utilizado en la serie de juegos Stalker. [BSD modificado/no comercial solamente]
- Oxigina: un motor de juego C ++ 2D de plataforma cruzada. [MIT]
- Panda3D: un motor de juego, un marco para la representación 3D y el desarrollo de juegos para los programas Python y C ++. Sitio web de [BSD modificado]
- PixelGameEngine: la distribución oficial de OlcpixelGameEngine, una herramienta utilizada en los videos y proyectos de YouTube de Javidx9. [OLC3]
- Policode: un marco multiplataforma para el código creativo en C ++ (con enlaces LUA). Sitio web [MIT]
- Quakeforge: rama mantenida activamente del código original del motor de Quake con más de 20 años de desarrollo. [GPL-2.0]
- Raylib: una biblioteca simple y fácil de usar para disfrutar de la programación de videojuegos. Sitio web de [ZLIB/LIBPNG]
- Spring: un potente motor de juego RTS de plataforma multiplataforma gratuita. Sitio web [GPLV2/GPLV3]
- Torque2D: un motor C ++ de código abierto y de código abierto construido para el desarrollo de juegos 2D. Sitio web [MIT]
- Torque3D: un motor C ++ de código abierto construido para el desarrollo de juegos 3D. Sitio web [MIT]
- Toy Engine: Toy es un motor de juego C ++ delgado y modular y ofrece simples modismos expresivos C ++ para diseñar juegos 2D o 3D con iteraciones rápidas.
- URHO3D: un motor de juego 2D y 3D ligero, sin plataforma gratuito, implementado en C ++. Muy inspirado por Ogre y Horde3d. [MIT]
- Ezengine: es un motor de juego de código abierto gratuito escrito en C ++. Su filosofía es ser modular y flexible, de modo que se pueda adaptar a muchos casos de uso diferentes. Sitio web [MIT]
Gráfico
- CXXGRAPH - Biblioteca gratuita de encabezado de gráficos C ++ (17) para la ejecución de la representación y los algoritmos. [AGPL-3.0]
- GRAAF: una biblioteca de gráficos C ++ 20 de uso general de peso general. Sitio web [MIT]
GUI
Interfaz gráfica de usuario
- Boden: marco de GUI nativo, móvil, multiplataforma. Sitio web [GPL/LGPL/PROPIEDARIO]
- CEGUI - Biblioteca GUI flexible, multiplataforma.
- Elementos: la biblioteca de GUI modular, de grano fino, de grano fino, de resolución. [MIT]
- FLTK - KIT de GUI C ++ de plataforma rápida, ligera, multiplataforma. [LGPL2]
- Fox Toolkit: un kit de herramientas de widget de origen abierto y de código abierto. [LGPL]
- GACUI - Interfaz de usuario C ++ acelerada de GPU, con herramientas de desarrollo de Wysiwyg, soportes XML, enlace de datos incorporado y funciones MVVM. [MS-PL]
- GTK+: un conjunto de herramientas multiplataforma para crear interfaces gráficas de usuario. [LGPL]
- GTKMM: la interfaz C ++ oficial para la popular biblioteca GUI GTK+. [LGPL]
- IMGUI - Interfaz de usuario gráfico de modo inmediato con dependencias mínimas. [MIT]
- Implot - Modo inmediato trazar widgets para IMGUI. [MIT]
- IUP - Kit de herramientas multiplataforma para construir interfaces gráficas de usuario. [MIT]
- Libui: biblioteca de GUI simple y portátil (pero no inflexible) en C que utiliza las tecnologías de GUI nativas de cada plataforma que admite. [MIT]
- MyGui - GUI rápido, flexible y simple. [MIT]
- NANA - Nana es una biblioteca multiplataforma para la programación de GUI en el estilo moderno de C ++. [Aumentar]
- Nanogui: una biblioteca de widgetes multiplataforma minimalista para OpenGL 3.x o superior. [BSD]
- Nuklear: una biblioteca de GUI ANSI CADER de un solo cabezazo. [PublicDomain]
- Qcustomplot - QT traza widget sin más dependencias. [GPLV3]
- QWT - Widgets QT para aplicaciones técnicas. [Propio basado en LGPL]
- QWTPLOT3D: una biblioteca de programación C ++ basada en QT/OpenGL rica en características, que proporciona esencialmente un montón de widgets 3D. [Zlib]
- RMLUI - La biblioteca de interfaz de usuario HTML/CSS evolucionó. Tenedor de libreta. [MIT]
- Saucer: una biblioteca moderna de WebView C ++ multiplataforma. [MIT]
- Sciter - Sciter es un motor HTML/CSS/Scripting incrustable dirigido a ser utilizado como una capa de UI de aplicaciones de escritorio modernas. [Gratis/comercial]
- Slint: kit de herramientas GUI ligero para escritorio e incrustado. Sitio web [GPL/GRATIS/PROPIEDARIO]
- TGUI - GUI C ++ moderna multiplataforma. Sitio web [ZLIB]
- WebUI: use cualquier navegador web como GUI, con su lenguaje preferido en el backend y HTML5 en la frontend. Sitio web [MIT]
- WXCharts: una biblioteca para crear gráficos en aplicaciones WXWidgets. Sitio web [MIT]
- WXWidgets: una biblioteca C ++ que permite a los desarrolladores crear aplicaciones para Windows, Mac OS X, Linux y otras plataformas con una única base de código. [Propio LGPL]
- XTD - Marco moderno de C ++ 17/20 para crear consola (CLI), formularios (GUI como Winforms) y aplicaciones Tunit (pruebas unitarias como Microsoft Unit Testing Framework) en Windows, MacOS, Linux, iOS y Android. [MIT]
- Yue: una biblioteca para crear aplicaciones de GUI multiplataforma nativa. [LGPLV2]
Gráficos
- Assimp - Open Asset Import Library (ASSIMP) es una biblioteca de importación de modelos 3D multiplataforma que tiene como objetivo proporcionar una API común para diferentes formatos de archivo de activos 3D. Sitio web de [BSD-3 Cláusula]
- BGFX: una biblioteca de representación multiplataforma. [BSD]
- Blend2D - 2D Vector Graphics Engine alimentado por un compilador JIT. Sitio web [ZLIB]
- El Cairo: una biblioteca de gráficos 2D con soporte para múltiples dispositivos de salida. [LGPL2 o Mozilla MPL]
- C-Turtle: una biblioteca de gráficos de tortuga de encabezado C ++ 11 que actúa como un envoltorio CIMG. [MIT]
- Motor diligente: una moderna biblioteca de gráficos 3D de bajo nivel multiplataforma. [Apache2]
- DirectXTK: una colección de clases de ayuda para escribir código DirectX 11.X en C ++. [MIT]
- GLFW: una simple biblioteca de Wrangling OpenGL de plataforma cruzada. [Zlib/libpng]
- GLFWPP - Un envoltorio moderno y moderno de C ++ 17 solo encabezado para GLFW. [MIT]
- Harfang 3D 3D Visualization Library utilizable en C ++, Python, Lua y Go. Basado en BGFX. Sitio web [GPLV3/LGPLV3/PROPIETARIO]
- ADEDRAGONS: una escena 3D básica implementada con varios motores, marcos o API. Sitio web [MIT]
- Horde3D: un pequeño motor de renderizado y animación en 3D. [EPL]
- ION: un conjunto pequeño y eficiente de bibliotecas para construir aplicaciones de cliente o servidor multiplataforma que usan gráficos 3D. Sitio web [Apache2]
- Irlicht: un motor 3D en tiempo real de alto rendimiento escrito en C ++. [Zlib]
- Libigl - Biblioteca de procesamiento de geometría C ++ simple. [MPL2]
- LLGL - Biblioteca de gráficos de bajo nivel (LLGL) es una capa de abstracción delgada para las API de gráficos modernas. [Cláusula BSD-3]
- LUNASVG - Una biblioteca de representación SVG independiente en C ++. [MIT]
- Magnum: middleware gráfico C ++ 11/C ++ 14 liviano y modular para juegos y visualización de datos. Sitio web [MIT]
- Micro -GL: en tiempo real, incrustable, encabezados solo C ++ 11 gráficos vectoriales de CPU. Sin STD lib, no se requiere fpu y no se requiere GPU. Sitio web [personalizado]
- NANOVG - Biblioteca de dibujo de vectores 2D antialiasis en la parte superior de OpenGL para UI y visualizaciones. [Zlib]
- Ogre 3D ⚡ ⚡ ⚡ ⚡ ⚡ ⚡ ⚡-Un motor de renderizado 3D flexible orientado a la escena, en tiempo real y flexible (a diferencia de un motor de juego) escrito en C ++. Sitio web [MIT]
- OpenScenegraph: un kit de herramientas de gráficos 3D de alto rendimiento de código abierto. [OSGPL]
- OpenSubdiv: la biblioteca de Pixar para evaluar y representar superficies de subdivisión en CPU y GPU. [Apache2 modificado]
- OpenVDB - Biblioteca y herramientas para almacenar, editar y realizar conjuntos de datos volumétricos. [MPL2]
- Panda3d: un marco para la representación 3D y el desarrollo de juegos para Python y C ++. [BSD]
- Partio: biblioteca para disputas de datos de partículas, con soporte para los formatos de archivo más comunes. [BSD modificado]
- Skia: una biblioteca gráfica 2D completa para dibujar texto, geometrías e imágenes. Sitio web [BSD]
- Thorvg: una biblioteca portátil independiente de la plataforma que permite dibujar escenas y animaciones basadas en vectores, incluidas SVG y Lottie. Sitio web [MIT]
- Tinyspline: una biblioteca ANSI C pequeña pero poderosa para interpolar, transformar y consultar Nurbs arbitrarias, Splinas B y curvas Bézier. [MIT]
- URHO3D - Representación multiplataforma y motor de juego. [Muchos diferentes, sobre todo MIT]
- Yocto/GL-pequeñas bibliotecas C ++ para gráficos basados en físicamente basados en datos. [MIT]
Procesamiento de imágenes
- Boost.gil - Biblioteca de imágenes genéricas. Sitio web de [impulso]
- BITMAPPLUSPLUS: la biblioteca C ++ de encabezado simple y rápido solo mapa de bits. [MIT]
- CIMG: un pequeño conjunto de herramientas de código abierto, C ++ para el procesamiento de imágenes. [Propietario de LGPL o GPL]
- Cximage: una biblioteca de procesamiento y conversión de imágenes para cargar, guardar, mostrar, transformar BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, imágenes J2K. [Zlib]
- DLIB ⚡ - Un moderno aprendizaje automático C ++ 11, visión por computadora, optimización numérica y kit de herramientas de aprendizaje profundo. Sitio web de [impulso]
- FPNG - Super Fast C ++ .png Writer/Reader. [Unicence]
- FreeImage: una biblioteca de código abierto que admite formatos de imagen gráficos populares y otros según sea necesario por las aplicaciones multimedia de hoy. [GPL2 o GPL3]
- GD - Biblioteca GD Graphics, utilizada en PHP para la carga de imágenes/manipulación y generación de miniatura. [Licencia permisiva personalizada, requiere mención en los documentos de usuario] Sitio web
- DCMTK - Kit de herramientas DICOM.
- GDCM - Biblioteca Dicom de base.
- ITK: un sistema de experiencia abierta y multiplataforma para el análisis de imágenes. [Apache2 de ITK 4.0]
- [Jpegli] [https://github.com/google/jpegli] - una implementación mejorada del codificador y decodificador JPEG. [Cláusula BSD-3]
- Leptonica - Leptonica es una biblioteca de código abierto que contiene un software que es ampliamente útil para aplicaciones de procesamiento de imágenes y análisis de imágenes. Sitio web de [BSD-2 Cláusula]
- Libavif - Biblioteca para codificar y decodificar archivos .Avif. [Cláusula BSD-2]
- Libfacedetection: biblioteca de código abierto para la detección de cara en las imágenes. La velocidad de detección de la cara puede alcanzar 1500 fps. [BSD]
- libjpeg -turbo: un códec de imagen JPEG que utiliza instrucciones SIMD para acelerar la codificación y decodificación de JPEG de referencia. Sitio web de [IJG & BSD-3-Cláusula y ZLIB]
- LibJXL - Implementación de referencia de formato de imagen JPEG XL. [Cláusula BSD-3]
- libpng: la biblioteca de referencia para usar en aplicaciones que leen, crean y manipulan archivos de imagen Raster PNG (gráficos de red portátiles). [Libpng-2.0] Sitio web
- Libspng - Alternativa de libpng simple y moderna. Sitio web [BSD-2]
- Libvips: una biblioteca de procesamiento de imágenes rápidas con necesidades de memoria baja. Sitio web [LGPL]
- LODEPNG - PNG Coder y decodificador en C y C ++. [Zlib]
- Magick ++ - ImageMagick Interfaces para C ++. [Apache2]
- Magickwnd - ImageMagick Interfaces para C. [Apache2]
- Mozjpeg - Encoder JPEG mejorado. [BSD/BSD-3-cláusula/ZLIB]
- OpenCV ⚡ - Visión de computadora de código abierto. Sitio web [Apache2]
- OpenExr - Biblioteca multiplataforma para imágenes de alto rango dinámico. [BSDF modificado]
- OpenImageio: potente biblioteca de disputas de imágenes y texturas con soporte para una amplia cantidad de formatos en bruto y en bruto comunes. [BSD modificado]
- OpenJPEG: un códec JPEG 2000 de código abierto escrito en lenguaje C. [Cláusula BSD-2]
- Qoi: el "formato de imagen bastante bien" para la compresión de imagen rápida y sin pérdidas. [MIT]
- Vail: biblioteca de decodificación de imágenes multiplataforma fácil de usar con códecs de imagen conectables. [MIT]
- SIMD - Biblioteca de procesamiento de imágenes C ++ con el uso de SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX -512, VMX (Altivec) y VSX (Power7), neón para el brazo. [MIT]
- STB-Image-Biblioteca de carga de imágenes de liderazgo STB. [Dominio público]
- Tesseract -Ocr - un motor OCR. [Apache2]
- Tinydng - solo encabezado Tiny DNG/TIFF cargador y escritor en C ++. [MIT]
- TinyExif: pequeña biblioteca de análisis C ++ EXIF y XMP compatible con ISO para JPEG. [MIT]
- Tinytiff - Ligera Ligera Tiff Reader/Biblioteca de escritor. [GPL-3.0]
- Video ++: una biblioteca de procesamiento de video y video de alto rendimiento C ++ 14. [MIT]
- Vigra: una biblioteca genérica de visión por computadora C ++ para el análisis de imágenes. [MIT X11]
- VTK: sistema de software de código abierto, disponible gratuitamente para gráficos de computadora 3D, procesamiento de imágenes y visualización. [BSD]
Internacionalización
- getText - Gnu 'getText'. [GPL2]
- IBM ICU: un conjunto de bibliotecas C/C ++ y Java que proporcionan soporte de unicode y globalización. [UCI]
- Libiconv: una biblioteca de conversión de codificación entre diferentes codificaciones de caracteres. [GPL]
- SIMDUTF - Rutinas Unicode (UTF8, UTF16, UTF32): miles de millones de caracteres por segundo usando SSE2, AVX2, Neon, AVX -512. [Apache-2/MIT]
- UNI -ALGO - Implementación de algoritmos Unicode para C/C ++. [Unicenso o MIT]
- UTF8.H - Encabezado único UTF8 Funciones de cadena para C y C ++. [Unicence]
- UTF8PROC - Una biblioteca C Clean para procesar datos UTF -8 Unicode. [MIT]
Comunicación entre procesos
- Apache Thrift: IPC/RPC de lengua cruzada eficiente, funciona entre C ++, Java, Python, PHP, C#y muchos más idiomas. Originalmente desarrollado por Facebook. [Apache2]
- Boost.interprocess-Biblioteca Boost solo de encabezado que admite archivos de memoria compartida y mapeada de memoria a nivel de núcleo, con mecanismos de sincronización incorporados (semáforos, mutexes y más). Sitio web de [impulso]
- BRPC - BRPC es un marco RPC de grado industrial que utiliza el lenguaje C ++, que a menudo se usa en un sistema de alto rendimiento, como búsqueda, almacenamiento, aprendizaje automático, publicidad, recomendación, etc. [Apache2] Sitio web
- Cap'n Proto: formato de intercambio de datos rápido y sistema RPC basado en la capacidad. Sitio web [MIT]
- ECAL - pub/sub, cliente/servidor, c ++/python/c#, varios protocolos de mensajes (ProtoBuf, Capnproto ..). Sitio web [Apache2]
- GRPC: un marco RPC de alto rendimiento, código abierto y de uso general. Sitio web [BSD]
- ICE: marco RPC integral con soporte para C ++, C#, Java, JavaScript, Python y más. [GPLV2]
- ICEORYX-Verdadero marco de comunicación entre procesos de copia cero para sistemas críticos de seguridad con enlaces para c, óxido. Se ejecuta en Linux, QNX, Windows, Mac OS, FreeBSD. Sitio web [Apache2]
- Libjson-RPC-CPP-Marco JSON-RPC para servidores y clientes C ++. [MIT]
- NANOMSG: una implementación simple de alto rendimiento de varios "protocolos de escalabilidad". Sitio web [MIT]
- NNG-NANOMSG-NEXT-Generation, una biblioteca de mensajería sin corredores de peso ligero. Sitio web [MIT]
- RPCLIB: un moderno servidor MSGPACK -RPC C ++ y biblioteca de clientes. [MIT]
- Simple-RPC-CPP: un generador de contenedor RPC simple a las funciones C/C ++. [BSD]
- SRPC: un sistema RPC liviano que admite múltiples protocolos y OperElemetry. [Apache2]
- WAMP: proporciona patrones de RPC y PUB/subsensoramiento. (varias implementaciones, varios idiomas)
- XMLRPC -C - Una biblioteca RPC liviana basada en XML y HTTP. [BSD]
JSON
- Boost.PropertyTree: un analizador/generador de árbol de propiedad que se puede usar para analizar archivos XML/JSON/INI/info. Sitio web de [impulso]
- CJSON - Json Parser de peso ultraligero en ANSI C. [MIT]
- DAW JSON LINK - Serialización JSON rápida y conveniente y análisis en C ++. [BSL-1.0]
- Frozen - JSON Parser y generador para C/C ++. [GPL y GPL2]
- Glaze: extremadamente rápido, en la memoria, JSON y la biblioteca de interfaz para C ++ moderno. [MIT]
- Biblioteca Jansson - C para codificar, decodificar y manipular datos JSON. [MIT]
- JBSON - JBSON es una biblioteca para construir datos BSON, y documentos JSON en C ++ 14. [Aumentar]
- Jeaeyeson - Una biblioteca JSON C ++ muy sano (solo encabezado). [BSD]
- JSMN - Un analizador JSON minimalista en C. [MIT]
- JSON ⚡ - JSON para C ++ moderno. Sitio web [MIT]
- JSON ++ - Un analizador JSON en C ++. [MIT]
- JSON.CPP - Una biblioteca de análisis / serialización barroca JSON para C ++. [Apache-2.0]
- JSON.H - Una simple solución de encabezado/fuente para analizar JSON en C y C ++. [Unicence]
- JSON-BUILD-C89 Tiny Bero-asignation JSON Serializer. [MIT]
- JSON -C - Una implementación JSON en C. [MIT]
- JSONCONS: una biblioteca solo de encabezado C ++ para formatos binarios tipo JSON y JSON con JSONPOINER, JSONPATCH, JSONPATH y JMESPATH. [Aumentar]
- JSONCPP - Una biblioteca C ++ para interactuar con JSON. [MIT]
- JSONIFIER - Algunas clases para analizar y serializar objetos de/en JSON, muy rápidamente. [MIT]
- JSONPARSE - Un simple analizador JSON en Ansi C. [MIT]
- JSON -PARSER - MUY BAJA FUERA JSON PARSER ESCRITO EN ANSI PORTABLE C. [BSD]
- JSON11 - Una pequeña biblioteca JSON para C ++ 11. [MIT]
- JSON -Estruct - Alto rendimiento, encabezado único JSON Parser analizando hacia y desde estructuras C ++. [MIT]
- JSON -Voorhees - Biblioteca JSON para C ++. Soporte para C ++ 11. Sin dependencias, rápidas y amigables con el desarrollo. [Apache2]
- JSON Toolkit - JSON, JSON Pointer, JSON Schema y JSONL Biblioteca para C ++ 20. [AGPL/Comercial]
- Jute - Parser JSON C ++ muy simple. [PublicDomain]
- Libjson: un analizador JSON y una biblioteca de impresoras en C. fácil de integrar con cualquier modelo. [LGPL]
- Libjson - Biblioteca JSON LIGHTWeight. [?]
- Libucl ⚡ - Parser de la Biblioteca de Configuración Universal. [Cláusula BSD-2]
- PARSON - PARSON es una biblioteca JSON de peso ligero escrita en C. [MIT]
- Picojson: un serializador de parser JSON solo de encabezado en C ++. [BSD]
- QT -JSON: una clase simple para analizar los datos JSON en una jerarquía Qvariant y viceversa. [GPLV3]
- QJSON: una biblioteca basada en QT que mapea los datos JSON a los objetos QVariant. [LGPL2]
- Rapidjson ⚡ - Un análisis/generador rápido JSON para C ++ con API de estilo Sax/DOM. Sitio web [MIT]
- SAJSON - PARSER JSON LIGERO, EXTREMADO BRIFICIO PARA C ++ 11. [MIT]
- Simdjson - Biblioteca JSON extremadamente rápida que puede analizar gigabytes de JSON por segundo. [Apache-2.0]
- Sonic -CPP - Una biblioteca rápida de serialización y deserialización de JSON, acelerado por Simd. [Apache-2.0]
- Taojson-Biblioteca JSON de encabezado C ++ de dependencia cero. [MIT]
- Ujson - µjson es AA Small, C ++ 11, UTF -8, Biblioteca JSON. [MIT]
- Ultrajson-ultra rápido Json decoder y codificador escrito en C. [BSD-3-cláusula]
- Yajl - Una biblioteca de análisis JSON de transmisión rápida en C. [ISC]
- YYJSON - Una biblioteca JSON de alto rendimiento escrita en Ansi C. [MIT]
Explotación florestal
- Blackhole - Marco de registro basado en atributos, que está diseñado para ser rápido, modular y altamente personalizable. [MIT]
- Boost.log: diseñado para ser muy modular y extensible. Sitio web de [impulso]
- BQLOG: un sistema de registro ligero de alto rendimiento utilizado en proyectos como "Honor de los reyes". [Apache-2.0]
- Easylogging ++ - Biblioteca de registro de alto rendimiento extremadamente ligera para aplicaciones C ++ 11 (o superiores). [MIT]
- FMTLOG - Una biblioteca de registro de estilo FMTLib performante con latencia en nanosegundos. [MIT]
- G3LOG - Logger asincrónico con sumideros dinámicos. [PublicDomain]
- Glog - Implementación C ++ del módulo de registro de Google.
- Haclog: una biblioteca de registro C Plain C extremadamente rápida. [MIT]
- LOG4CPP: una biblioteca de clases de C ++ para registro flexible a archivos, syslog, IDSA y otros destinos. [LGPL]
- LOG4CPLUS: una API de registro de C ++ C ++ que proporciona hilo seguro, FL