El último resumen de 2021 recomienda bibliotecas y marcos de código abierto c/c++. Actualizado continuamente.
marco
Biblioteca estándar Apache C++: es una colección de algoritmos, contenedores, iteradores y otros componentes básicos.
ASL: Adobe Source Code Library proporciona una biblioteca de código fuente C++ portátil y revisada por pares.
Boost: una gran colección de bibliotecas C++ de uso general.
BDE: Entorno de desarrollo de Bloomberg Information Labs.
Cinder: una comunidad de desarrollo de código abierto que proporciona codificación creativa de calidad profesional.
Bxxomfort: una biblioteca liviana de solo encabezado que traslada algunas de las nuevas características de C++ 11 a C++ 03.
Dlib: una biblioteca C++ universal multiplataforma diseñada utilizando programación por contrato y tecnología C++ moderna.
EASTL: parte pública EA-STL
ffead-cpp: marco de desarrollo de aplicaciones empresariales
Folly: una biblioteca C++ de código abierto desarrollada y utilizada por Facebook.
JUCE: una biblioteca C++ integral para desarrollar software multiplataforma
libphenom: un marco de eventos para construir sistemas de alto rendimiento y altamente escalables.
LibSourcey: E/S con eventos C++11 para transmisión de vídeo en tiempo real y aplicaciones de red de alto rendimiento
LibU: una biblioteca de herramientas multiplataforma escrita en lenguaje C
Loki: El diseño de una biblioteca C++, incluida la implementación de patrones y modismos de diseño comunes.
MiLi: una pequeña biblioteca C++ de solo encabezado
openFrameworks: desarrolle un kit de herramientas C++ para codificación creativa.
Qt: marco de interfaz de usuario y aplicación multiplataforma
Motivo: un marco multiplataforma que facilita a los desarrolladores el uso de Java, .Net y Python, al mismo tiempo que satisface sus necesidades de rendimiento y ventajas de C++.
ROOT: Un conjunto de frameworks orientados a objetos con toda la funcionalidad para procesar y analizar grandes cantidades de datos de manera muy eficiente, utilizado por el CERN.
STLport: es una versión representativa de STL
STXXL: biblioteca de plantillas estándar para conjuntos de datos grandes adicionales.
Ultimate++: marco de desarrollo rápido de aplicaciones multiplataforma C++
Biblioteca de plantillas de Windows: biblioteca C++ para desarrollar aplicaciones de Windows y componentes de interfaz de usuario.
Yomm11: abre múltiples métodos para C++11.
Bucle de eventos asincrónicos
Boost.Asio: biblioteca C++ multiplataforma para red y programación de E/S de bajo nivel.
libev: bucle de tiempo de alto rendimiento y con todas las funciones, ligeramente modelado a partir de libevent, pero ya no tiene las mismas limitaciones que libevent, y algunos de sus errores han sido corregidos.
libevent: biblioteca de notificaciones de eventos
libuv: E/S asíncrona multiplataforma.
libco: coroutine, la biblioteca IO subyacente de WeChat que admite 800 millones de usuarios en línea al mismo tiempo. Poderoso
ntyco: una versión C pura del marco de rutina, el código es breve y conciso, adecuado para proyectos integrados.
libgo: marco de concurrencia estilo Golang, biblioteca de rutinas de implementación de C++ 11
biblioteca de red
ACE: kit de herramientas de red orientada a objetos C++
Casablanca: SDK REST de C++
cpp-netlib: una colección de bibliotecas de código abierto para programación de red avanzada
Dyad.c: redes asincrónicas en C
libCurl: biblioteca de transferencia de archivos multiprotocolo
Mongoose: servidor web muy ligero
Muduo: biblioteca de red C++ sin bloqueo para servidores multiproceso Linux
net_skeleton: biblioteca cliente/servidor TCP para C/C++
WAFer: plataforma de software ultraligera basada en C para aplicaciones web y del lado del servidor escalables. Para programadores de C, considere node.js
Onion: biblioteca de servidor HTTP en lenguaje C, diseñada para ser liviana y fácil de usar.
POCO: biblioteca de clases C++ para crear aplicaciones de red y basadas en Internet que pueden ejecutarse en sistemas de escritorio, servidores, móviles y integrados.
RakNet: un motor de red C++ de código abierto y multiplataforma para desarrolladores de juegos.
Tufao: un marco web asíncrono construido en C++ sobre Qt.
WebSocket++: biblioteca cliente/servidor websocket basada en C++/Boost Aiso
ZeroMQ: biblioteca de comunicación asíncrona modular de alta velocidad
Pila de protocolo TCP/IP
f-stack: pila de protocolos de código abierto de Tencent, una pila de protocolos en modo de usuario de alto rendimiento basada en DPDK.
NtyTcp: pila de protocolos de un solo subproceso, basada en netmap, DPDK, implementación de rawSocket.
LWIP: una versión simplificada de la implementación de la pila de protocolos TCP/IP para la plataforma RAM.
mTCP: una pila de protocolos TCP/IP de espacio de usuario altamente escalable para sistemas multinúcleo.
4.4BSD: * La pila de protocolos nix se deriva de 4.4BSD.
Marco de aplicación WEB
Nginx: un servidor web HTTP y proxy inverso de alto rendimiento que también proporciona servicios IMAP/POP3/SMTP.
Lighttpd: un software de servidor web de código abierto que es seguro, rápido, cumple con los estándares de la industria, altamente adaptable y optimizado para entornos de alta configuración.
Libmicrohttpd: un servidor web de biblioteca c simple bajo software GNU. La API es simple y rápida.
shttpd: marco de servidor web basado en Mongoose.
CivetWeb: proporciona un servidor web integrado en C/C++ potente y fácil de usar con compatibilidad opcional con CGI, SSL y Lua.
CppCMS: Marco de desarrollo web gratuito de alto rendimiento (no un CMS).
Crow: un micro framework web C++ (inspirado en Python Flask)
Kore: Servidor/framework web ultrarrápido y flexible para aplicaciones web desarrolladas en C.
libOnion: una biblioteca liviana que le ayuda a crear servidores web utilizando el lenguaje de programación C.
QDjango: Un framework web escrito en C++ y basado en la biblioteca Qt, que intenta emular la API de Django, de ahí el nombre.
Wt: Biblioteca C++ para desarrollar aplicaciones web.
Biblioteca estándar, algoritmos y funciones.
Biblioteca estándar de C++: es una colección de clases y funciones escritas en el lenguaje central y forma parte del propio estándar ISO de C++.
Biblioteca de plantillas estándar: Biblioteca de plantillas estándar, STL
Biblioteca C POSIX: especificación de biblioteca estándar C para sistemas POSIX
Comité de Normas ISO C++ : Comité de Normas C++
biblioteca de audio
FMOD: motor de audio multiplataforma fácil de usar y herramienta de creación de juegos de contenido de audio.
Maximilian: biblioteca de procesamiento de señales digitales de audio y música en C++
OpenAL: biblioteca de audio de código abierto: API de audio multiplataforma
Opus: un códec de audio completamente abierto, libre de derechos y muy versátil
Speex: Códec gratuito, obsoleto por Opus
Tonic: Síntesis de audio eficiente y fácil de usar en C++
Vorbis: Ogg Vorbis es un formato de audio comprimido universal, completamente abierto, no propietario y libre de regalías.
ecología
lisequence: una biblioteca de C++ para representar y analizar datos de genética de poblaciones.
SeqAn: se centra en algoritmos y estructuras de datos para el análisis de secuencias de datos biológicos.
Vcflib: biblioteca C++ para analizar y procesar archivos VCF
Wham: aplique pruebas de asociación directamente a variantes estructurales genéticas en archivos BAM.
compresión
bzip2: una compresión de datos de alta calidad, completamente gratuita y sin patentes
doboz: biblioteca de compresión para una descompresión rápida
PhysicsFS: una biblioteca que proporciona acceso abstracto a varios archivos, utilizados principalmente en videojuegos. El diseño se inspiró en parte en el subsistema de archivos de Quake3.
KArchive: una biblioteca para crear, leer, escribir y manipular archivos (como zip y tar), que proporciona compresión y descompresión transparente de datos utilizando el formato gzip a través de una serie de subclases de QIODevice.
LZ4: algoritmo de compresión muy rápido
LZHAM: base de datos comprimida sin pérdidas, la relación de compresión es cercana a LZMA, pero la velocidad de descompresión es mucho más rápida.
LZMA: el método de compresión común y predeterminado para el formato 7z.
LZMAT: y su rápida biblioteca de compresión de datos sin pérdidas en tiempo real
miniz: un único archivo fuente C, biblioteca de compresión/expansión, utilizando API compatible con zlib, lectura y escritura de archivos ZIP, método de escritura PNG.
Minizip: la última corrección de errores de Zlib, admite expansión de disco PKWARE, cifrado AES y almacenamiento en búfer IO.
Snappy: compresión y descompresión rápida
ZLib: biblioteca de compresión de flujo de datos muy compacta
ZZIPlib: proporciona acceso de lectura a archivos ZIP.
concurrencia
Boost.Compute: biblioteca informática GPU C++ para OpenCL
Bolt: una biblioteca de plantillas de C++ optimizada para GPU
C++React: biblioteca de programación reactiva para C++11
Intel TBB: bloques de construcción de subprocesamiento Intel
Libclsph: biblioteca de simulación de fluidos SPH acelerada por GPU basada en OpenCL
OpenCL: un estándar abierto para la programación paralela de sistemas heterogéneos
OpenMP: API de OpenMP
Thrust: una biblioteca de algoritmos paralelos similar a la biblioteca de plantillas estándar de C++
HPX: un sistema de ejecución universal de C++ para aplicaciones paralelas y distribuidas de cualquier tamaño
VexCL: biblioteca de plantillas de expresiones vectoriales en C++ para OpenCL/CUDA.
criptografía
Bcrypt: una herramienta de cifrado de archivos multiplataforma, los archivos cifrados son portátiles a todos los sistemas operativos y procesadores compatibles.
BeeCrypt: una biblioteca de gráficos de cifrado rápido con funciones potentes y una interfaz conveniente.
Botan: biblioteca de cifrado C ++
Crypto++: una biblioteca C++ gratuita para esquemas de cifrado
GnuPG: Una implementación completa del estándar OpenPGP
GnuTLS: Biblioteca de comunicación segura que implementa protocolos SSL, TLS y DTLS
Libgcrypt: biblioteca de gráficos de cifrado basada en GnuPG.
Libmcrypt: seguro para subprocesos y proporciona una API unificada.
LibreSSL: protocolo SSL/TLS gratuito, una bifurcación de OpenSSL 2014
LibTomCrypt: una herramienta de cifrado muy completa, modular y portátil
libsodium: biblioteca de cifrado basada en NaCI, obstinada y fácil de usar
Nettle: la biblioteca de cifrado subyacente
OpenSSL: una biblioteca de cifrado de código abierto, potente, comercial y con todas las funciones.
Tiny AES128 en C: una implementación pequeña y portátil del algoritmo de cifrado AES128ESB implementado en C
base de datos
hiberlite: mapeo relacional de objetos C ++ para Sqlite3
Hiretis: una biblioteca cliente C muy simple para la base de datos Redis.
LevelDB: almacén rápido de valores-clave
LMDB: un almacén clave-valor integrado que se ajusta a los cuatro elementos básicos de una base de datos
MySQL++: un contenedor de C++ que encapsula la API C de MySql
RocksDB: almacenamiento rápido de valores-clave integrados de Facebook
SQLite: una base de datos relacional totalmente integrada y con todas las funciones que ocupa solo unos pocos cientos de KB y se puede incluir correctamente en su proyecto.
Redis: una base de datos de valor clave y tipo registro de código abierto escrita en lenguaje ANSI C, que cumple con el protocolo BSD, admite la red y puede estar basada en memoria y ser persistente.
MongoDB: una base de datos basada en almacenamiento de archivos distribuidos
depurar
Boost.Test: biblioteca de pruebas de impulso
Captura: Un marco nativo de C++ muy elegante que solo contiene archivos de encabezado para pruebas unitarias, desarrollo basado en pruebas y desarrollo basado en comportamiento.
CppUnit: marco de pruebas de C++ portado desde JUnit
CTest: controlador de prueba de CMake
GoogleTest: marco de prueba de Google C++
ig-debugheap: montón de depuración multiplataforma para rastrear errores de memoria
libtap: escribir pruebas en C
MemTrack: para rastrear asignaciones de memoria en C++
MicroProfile: perfilador de intentos de red multiplataforma
minUnit: un mini marco de pruebas unitarias escrito en C, que utiliza solo dos macros
Remotery: un único analizador de archivos C para vistas web
UnitTest++: marco de prueba unitario ligero de C++
recipiente
C++ B-Tree: una biblioteca de plantillas que implementa contenedores de memoria de comandos basados en la estructura de datos del árbol B
Hashmaps: implementación del algoritmo de tabla hash de dirección abierta en C++
motor de juego
Cocos2d-x: un marco multiplataforma para crear juegos 2D, libros interactivos, presentaciones y otras aplicaciones gráficas.
Grit: un proyecto comunitario para crear un motor de juego gratuito para juegos 3D de mundo abierto.
lrrlicht: un motor #D en tiempo real de alto rendimiento y código abierto escrito en lenguaje C++
PolyCode: un marco de código abierto para crear juegos implementado en C++ (incluido con Lua).
biblioteca de gráficos
bgfx: biblioteca de renderizado multiplataforma
El Cairo: biblioteca de gráficos 2D que admite múltiples dispositivos de salida
Horde3D: un pequeño motor de animación y renderizado 3D
magnum: C++11 y motor gráfico OpenGL 2D/3D
Ogre 3D: un motor de renderizado 3D flexible, en tiempo real y orientado a escenas escrito en C++ (no es un motor de juego)
OpenSceneGraph: kit de herramientas de gráficos 3D de código abierto y alto rendimiento
Panda3D: Framework para renderizado 3D y desarrollo de juegos, escrito en Python y C++.
Skia: una completa biblioteca de gráficos 2D para dibujar texto, gráficos e imágenes
urho3d: motor de juegos y renderizado multiplataforma.
procesamiento de imágenes
Boost.GIL: Biblioteca de imágenes generales
CImg: un pequeño conjunto de herramientas C++ de código abierto para el procesamiento de imágenes
FreeImage: una biblioteca de código abierto que admite formatos de imagen comunes y otros formatos requeridos por las aplicaciones multimedia actuales.
GDCM: biblioteca DICOM de base
ITK: sistema de análisis de imágenes de código abierto multiplataforma
Magick++: interfaz C++ para el programa ImageMagick
OpenCV: biblioteca de visión por computadora de código abierto
tesseract-ocr: motor OCR
VIGRA: biblioteca de visión por computadora C++ de uso general para análisis de imágenes
VTK: Sistema de software gratuito de código abierto para gráficos por ordenador, procesamiento y visualización de imágenes en 3D.
internacionalización
obtener texto: GNU obtener texto
IBM ICU: bibliotecas C, C++ y Java que brindan soporte Unicode y globalización
libiconv: biblioteca de conversión de codificación entre diferentes codificaciones de caracteres
biblioteca json
congelado: generador de análisis Jason para C/C++
Jansson: biblioteca en lenguaje C para codificar, decodificar y procesar datos de Jason
jbson: una biblioteca para crear e iterar datos BSON y documentos Json en C++14
JeayeSON: una biblioteca JSON de C++ muy robusta que solo contiene archivos de encabezado
JSON++: analizador JSON de C++
json-parser: analizador JSON escrito en ANSI C portátil con muy poca memoria
json11: una mini biblioteca JSON de C++11
yute: analizador JSON de C++ muy simple
ibjson: biblioteca de análisis e impresión JSON en C, fácilmente integrada con cualquier modelo
libjson: biblioteca JSON ligera
PicoJSON: análisis y serialización de JSON en C++, incluidos solo archivos de encabezado
Qt-Json: una clase simple para analizar entre datos JSON y jerarquías QVariant
QJson: biblioteca basada en Qt para asignar datos JSON a objetos QVariant
RepidJSON: un generador de análisis JSON rápido para C++, que incluye API de estilo SAX y DOM
YAJL: biblioteca de análisis JSON de transmisión rápida en lenguaje C
registro
Boost.Log: Diseñado para ser muy modular y extensible
easyloggingpp: biblioteca de registro de C++, que contiene solo un archivo de encabezado.
Log4cpp: una serie de bibliotecas de C ++ que agregan registros de manera flexible a archivos, registros del sistema, IDSA y otros lugares.
templog: una biblioteca C++ liviana que puede agregar registros a sus aplicaciones C++
aprendizaje automático, inteligencia artificial
btsk: herramienta de inicio del árbol de comportamiento del juego
Objetos en evolución: biblioteca de computación evolutiva ANSI C++ basada en plantillas que puede ayudarlo a escribir sus propios algoritmos de optimización estocástica muy rápidamente.
Caffe: un marco de red neuronal rápido
CCV: una biblioteca moderna de visión por computadora con lenguaje C como núcleo
mlpack: biblioteca extensible de aprendizaje automático de C++
OpenCV: biblioteca de visión por computadora de código abierto
Recomendador: una biblioteca en lenguaje C para recomendaciones/sugerencias de productos mediante filtrado colaborativo.
SHOGUN: herramienta de aprendizaje automático Shogun
sofia-ml: un conjunto de algoritmos incrementales rápidos para el aprendizaje automático
biblioteca de matemáticas
Armadillo: una biblioteca de álgebra lineal C++ de alta calidad que logra un buen equilibrio entre velocidad y facilidad de uso. La sintaxis es muy similar a MatlAB.
blaze: Biblioteca matemática C++ de alto rendimiento para algoritmos densos y dispersos.
ceres-solver: una biblioteca C++ de Google para modelar y resolver grandes problemas complejos de mínimos cuadrados no lineales.
CGal: una colección de algoritmos de conjuntos eficientes y confiables
CML: biblioteca matemática C++ gratuita para juegos y gráficos
Eigen: una biblioteca de encabezados de plantillas C++ de alto nivel que cubre álgebra lineal, matrices, operaciones vectoriales, resolución numérica y otros algoritmos relacionados.
GMTL: Biblioteca de plantillas de gráficos matemáticos es un conjunto de herramientas para implementar gráficos básicos de manera extensiva.
GMP: biblioteca C/C++ para cálculos de alta precisión, manejo de números enteros con signo, números racionales y números de punto flotante.
biblioteca multimedia
GStreamer: una biblioteca para crear gráficos de componentes de procesamiento de medios
LIVE555 Streaming Media: Biblioteca de streaming multimedia que utiliza protocolos estándar abiertos (RTP/RTCP, RTSP, SIP)
libVLC: marco de medios libVLC (VLC SDK)
QtAV: un marco de reproducción multimedia basado en Qt y FFmpeg que puede ayudarte a escribir un reproductor fácilmente
SDL: control directo y sencillo de la capa multimedia
SFML: biblioteca multimedia rápida y sencilla
física
Box2D: motor de física de juegos 2D.
Bullet: motor de física de juegos 3D.
Chipmunk: biblioteca de física de juegos 2D rápida y ligera
LiquidFun: motor de física de juegos 2D
ODE: Open Dynamics Engine: una biblioteca de código abierto y alto rendimiento para simular la dinámica de cuerpos rígidos.
ofxBox2D: contenedor de marco de código abierto Box2D.
Simbody: una biblioteca de física/dinámica multicuerpo C++ de alto rendimiento para simular biomecánica de articulaciones y sistemas mecánicos como vehículos, robots y esqueletos humanos.
Robótica
MOOS-Ivp: Conjunto de módulos C++ de código abierto que proporcionan autonomía a plataformas robóticas, específicamente vehículos marinos autónomos.
MRPT: kit de herramientas de programación de robots móviles
PCL: Point Cloud Library es un proyecto abierto independiente a gran escala para el procesamiento de imágenes 2D/3D y nubes de puntos.
Biblioteca de robótica: una biblioteca C++ independiente que incluye dinámica de robots, planificación y control de movimientos.
RobWork: una colección de bibliotecas C++ para simulación y control de sistemas robóticos.
ROS: Sistema operativo robótico que proporciona bibliotecas y herramientas para ayudar a los desarrolladores de software a crear aplicaciones robóticas.
computación científica
FFTW: Biblioteca en lenguaje C para calcular DFT en una o más dimensiones.
GSL: Biblioteca científica GNU.
guion
ChaiScript: un lenguaje de secuencias de comandos integrado fácil de usar para C++.
Lua: un motor de secuencias de comandos pequeño y rápido para archivos de configuración y secuencias de comandos de aplicaciones básicas.
luacxx: API C++11 para crear enlaces Lua
SWIG: un generador de interfaz/envoltorio que permite que su código C++ se vincule a JavaScript, Perl, PHP, Python, Tcl y Ruby.
V7: motor JavaScript integrado.
V8: el rápido motor JavaScript de Google que puede integrarse en cualquier aplicación C++.
publicación por entregas
Cap'n Proto: Formato rápido de intercambio de datos y sistema RPC.
cereal: biblioteca de serialización C++11
FlatBuffers: biblioteca de serialización con uso eficiente de la memoria
MessagePack: biblioteca de serialización binaria eficiente para C/C++, como JSON
ProtoBuf: búfer de protocolo, formato de intercambio de datos de Google.
ProtoBuf-c: Implementación del buffer de protocolo en lenguaje C
SimpleBinaryEncoding: Codificación y decodificación de información de aplicaciones en formato binario para aplicaciones de baja latencia.
Ahorro: IPC/RPC eficiente en varios idiomas, utilizado en C++, Java, Python, PHP, C# y muchos otros lenguajes, desarrollado originalmente por Facebook.
Videoteca
libvpx: SDK de codificación y decodificación VP8/VP9
FFMpeg: una solución completa y multiplataforma para grabar y convertir transmisiones de vídeo y audio.
libde265: Implementación abierta del códec de vídeo h.265.
OpenH264: Códec H.364 de código abierto.
Theora: Formato de compresión de vídeo gratuito y de código abierto.
biblioteca XML
Expatriado: biblioteca de análisis xml escrita en lenguaje C
LibXml2: analizador xml C y kit de herramientas para Gnome
LibXml++: analizador xml para C++
PugiXML: un analizador XML ligero, simple y rápido para C++ que admite XPath.
RapidXML: intenta crear el analizador XML más rápido manteniendo la facilidad de uso, la portabilidad y una compatibilidad razonable con W3C.
TinyXML: un analizador XML de C++ simple y pequeño que se puede integrar fácilmente en otros proyectos.
TinyXML2: un analizador CML C++ simple y rápido que se puede integrar fácilmente en otros proyectos.
TinyXML++: una interfaz completamente nueva para TinyXML que aprovecha muchas de las ventajas de C++, plantillas, excepciones y un mejor manejo de excepciones.
Xerces-C++: analizador de validación XML escrito en un subconjunto de C++ portátil.
Trabajo de cuello cero
Cada semana se publica información de contratación laboral para c/c++ y golang en tiempo real en Beijing, Shanghai, Guangzhou, Shenzhen, Hangzhou, Nanjing, Hefei, Wuhan, Changsha, Chongqing, Chengdu, Xi'an y Xiamen. Incluyendo reclutamiento escolar, reclutamiento social, puestos de pasantías, entrevistas, estereotipos y currículums.