Impressionante C++
Uma lista com curadoria de estruturas, bibliotecas, recursos e coisas brilhantes em C++ (ou C). Inspirado em coisas incríveis.
- Impressionante C++
- Bibliotecas padrão
- Estruturas
- Inteligência artificial
- Loop de eventos assíncronos
- Áudio
- Biologia
- BitTorrent
- Química
- CLI
- Compressão
- Simultaneidade
- Configuração
- Recipientes
- Criptografia
- CSV
- Banco de dados
- Visualização de dados
- Depurar
- Documentação
- DSP
- Fonte
- Motor de jogo
- Gráfico
- GUI
- Gráficos
- Processamento de imagem
- Internacionalização
- Comunicação entre processos
- JSON
- Registro
- Aprendizado de máquina
- Matemática
- Alocação de memória
- Multimídia
- Rede
- XML aberto do Office
- PDF
- Física
- Reflexão
- Expressão regular
- Robótica
- Computação Científica
- Scripts
- Serialização
- Porta serial
- Classificando
- Vídeo
- Máquinas Virtuais
- Estrutura de aplicativos da Web
- XML
- Yaml
- Variado
- Programas
- Compilador
- Compilador on-line
- Depurador
- Ambiente de Desenvolvimento Integrado
- Construir Sistemas
- Análise de código estático
- Ferramentas de estilo de codificação
- Recursos
- Projeto de API
- Artigos
- Livros
- Padrões de codificação
- Estilo de codificação
- Podcasts
- Palestras
- Vídeos
- Sites
- Blogs
- Outros projetos incríveis
- Outras listas incríveis
- Empregos
- Patrocinadores
- Contribuindo - Se você encontrar um projeto ou link aqui que não é mais mantido ou não é adequado, envie uma solicitação pull para melhorar este documento. Obrigado!
Bibliotecas padrão
Biblioteca padrão C++ - incluindo contêineres STL, algoritmo STL, STL funcional, etc.
- Biblioteca Padrão C++ - Uma coleção de classes e funções, que são escritas na linguagem principal e parte do próprio Padrão ISO C++.
- Biblioteca de modelos padrão - A biblioteca de modelos padrão (STL).
- Biblioteca C POSIX - Uma especificação de uma biblioteca padrão C para sistemas POSIX.
- Comitê de Padrões ISO C++ - ISO/IEC JTC1/SC22/WG21 - O Comitê de Padrões C++. site
- A Biblioteca GNU C - O objetivo deste manual é informar como usar os recursos da Biblioteca GNU C.
Estruturas
Estruturas e bibliotecas genéricas C++.
- abseil-cpp - Bibliotecas comuns do Abseil C++. [Apache2]
- Biblioteca padrão Apache C++ - STDCXX, uma coleção de algoritmos, contêineres, iteradores e outros componentes fundamentais. [aposentado] [Apache2]
- APR - Tempo de execução portátil Apache. Outra biblioteca de funções utilitárias multiplataforma. [Apache2]
- ASL - Adobe Source Libraries fornece bibliotecas de origem C++ portáteis e revisadas por pares. [MIT]
- Boost ⚡ - Uma grande coleção de bibliotecas C++ genéricas. Site [Boost]
- BDE - O Ambiente de Desenvolvimento BDE da Bloomberg Labs. [Apache2]
- Fluxo de trabalho C++ ⚡ - Computação paralela C++ e mecanismo de rede assíncrona. [Apache2]
- CGraph - Uma estrutura DAG de plataforma cruzada baseada em C++ sem qualquer terceiros. [MIT]
- Cinder - Uma biblioteca de código aberto, gratuita e desenvolvida pela comunidade para codificação criativa de qualidade profissional. [BSD]
- Coost - Uma pequena biblioteca boost em C++ 11. [MIT]
- Cxxomfort - Uma pequena biblioteca somente de cabeçalho que faz backport de vários recursos, desde padrões C++ mais recentes até C++03 e posteriores. [MIT]
- Dlib ⚡ - Um kit de ferramentas para criar aplicativos reais de aprendizado de máquina e análise de dados em C++. Site [Boost]
- EASTL - Biblioteca de modelos padrão de artes eletrônicas. [BSD]
- ETL - Biblioteca de modelos incorporada. [MIT]
- ffead-cpp - Estrutura para desenvolvimento de aplicativos empresariais. [Apache2]
- Folly - Uma biblioteca C++ de código aberto desenvolvida e usada no Facebook. [Apache2]
- FunctionalPlus - Biblioteca de Programação Funcional para C++. Escreva código C++ conciso e legível. [MIT]
- GLib - GLib fornece os principais blocos de construção de aplicativos para bibliotecas e aplicativos escritos em C. [LGPL]
- itlib - Uma coleção de bibliotecas C++ de cabeçalho único semelhantes a std [MIT]
- JUCE – Uma biblioteca de classes C++ abrangente para o desenvolvimento de software multiplataforma. Site [Módulo principal: ISC, Rest: GPL2/GPL3/Proprietary]
- Estrutura Kigs - Uma estrutura RAD de plataforma cruzada modular C++ gratuita e de código aberto. Site do [MIT]
- libPhenom - libPhenom é uma estrutura de eventos para construção de sistemas de alto desempenho e alta escalabilidade em C. [Apache2]
- LibSourcey - IO com eventos C++11 para streaming de vídeo em tempo real e aplicativos de rede de alto desempenho. [LGPL]
- LibU - Uma biblioteca de utilitários multiplataforma escrita em C. [BSD]
- libxutils – Biblioteca C multiplataforma simples, mas poderosa, que fornece estruturas de dados, algoritmos e muito mais. [MIT]
- Loki - Uma biblioteca de designs C++, contendo implementações flexíveis de padrões e expressões de design comuns. [MIT]
- MiLi - Biblioteca C++ apenas com cabeçalhos mínimos. [Impulsionar]
- OpenFrameworks - Um kit de ferramentas de código aberto multiplataforma para codificação criativa em C++. Site do [MIT]
- Qt ⚡ - Um aplicativo multiplataforma e estrutura de UI. Site [GPL/LGPL/Proprietário]
- Motivo - Uma estrutura de plataforma cruzada projetada para trazer a facilidade de uso de Java, .Net ou Python para desenvolvedores que exigem o desempenho e a força do C++. [GPL2]
- ROOT - Um conjunto de frameworks OO com todas as funcionalidades necessárias para manipular e analisar grandes quantidades de dados de forma muito eficiente. Usado no CERN. [LGPL]
- rpp - Substituição mínima do C++20 STL inspirada no Rust. [MIT]
- SaneCppLibraries - um conjunto de bibliotecas de abstração da plataforma C++ para macOS, Windows e Linux. Site do [MIT]
- Seastar – Uma estrutura C++ avançada e de código aberto para aplicativos de servidor de alto desempenho em hardware moderno. [Licença Apache-2.0] seastar.io
- STLport – Uma versão exemplar de STL. [Livre]
- STXXL - Biblioteca de modelos padrão para conjuntos de dados extragrandes. [Impulsionar]
- tbox - Uma biblioteca c multiplataforma semelhante a lib. Site [Apache2]
- Ultimate++ - Uma estrutura de desenvolvimento rápido de aplicativos multiplataforma C++. [BSD]
- Biblioteca de modelos do Windows – uma biblioteca C++ para desenvolver aplicativos do Windows e componentes de UI. [Público]
- Yomm2 - Multimétodos rápidos, ortogonais e abertos. Substitui Yomm11 [Boost]
Inteligência artificial
- ANNetGPGPU - Uma biblioteca de rede neural artificial baseada em GPU (CUDA). [LGPL]
- btsk - Kit inicial da árvore de comportamento do jogo. [zlib]
- Evolving Objects - Uma biblioteca de computação evolutiva ANSI-C++ baseada em modelo que ajuda você a escrever seus próprios algoritmos de otimização estocástica de forma incrivelmente rápida. [LGPL]
- frugalmente profundo - Biblioteca somente de cabeçalho para usar modelos Keras em C++. [MIT]
- Genann - Biblioteca de rede neural simples em C. [zlib]
- MXNet - Aprendizado profundo distribuído/móvel leve, portátil e flexível com Dataflow Dep Scheduler dinâmico e com reconhecimento de mutação; para Python, R, Julia, Scala, Go, JavaScript e muito mais. site
- PyTorch - Tensores e redes neurais dinâmicas em Python com forte aceleração de GPU. site
- lanterna - Lanterna é uma biblioteca de aprendizado de máquina rápida e flexível escrita inteiramente em C++. [BSD]
- Recast/Detour - (3D) Gerador de malha de navegação e pathfinder, principalmente para jogos. [zlib]
- TensorFlow – Uma biblioteca de software de código aberto para computação numérica usando gráficos de fluxo de dados. [Apache]
- oneDNN – Uma biblioteca de desempenho de plataforma cruzada de código aberto para aplicativos de aprendizado profundo. Site [Apache]
- CNTK - Microsoft Cognitive Toolkit (CNTK), um kit de ferramentas de aprendizagem profunda de código aberto. [Impulsionar]
- tiny-dnn - Uma estrutura de aprendizado profundo livre de dependências apenas de cabeçalho em C++ 11. [BSD]
- Veles - Plataforma distribuída para desenvolvimento rápido de aplicativos de aprendizado profundo. [Apache]
- Kaldi - Kit de ferramentas para reconhecimento de fala. [Apache]
Loop de eventos assíncronos
- Asio - Uma biblioteca C++ multiplataforma para programação de rede e E/S de baixo nível que fornece aos desenvolvedores um modelo assíncrono consistente usando uma abordagem C++ moderna. Site [Boost]
- Boost.Asio - Uma biblioteca C++ multiplataforma para rede e programação de E/S de baixo nível. Site [Boost]
- C++ Actor Framework - Uma implementação de código aberto do modelo de ator em C++. Site [BSD-3-Cláusula]
- Ichor – Uma fila de eventos que se concentra na segurança do thread e fornece injeção de dependência. [MIT]
- libev - Um loop de eventos completo e de alto desempenho que é vagamente modelado após libevent, mas sem suas limitações e bugs. [BSD e GPL]
- libevent – Uma biblioteca de notificação de eventos. [BSD]
- libhv - Biblioteca de loop de eventos multiplataforma. [BSD]
- libuv - E/S assíncrona multiplataforma. [BSD]
- promessa-cpp - Biblioteca somente de cabeçalho que implementa o padrão Promise/A+. [Anti-996]
- uvw - wrapper C++ para libuv. [MIT]
- uv-cpp - uma biblioteca de rede de interface simples e de alto desempenho baseada em C++ 11. [MIT]
Áudio
Bibliotecas de áudio, som, música e voz digitalizada
- Amplitude Audio SDK - Um mecanismo de áudio multiplataforma projetado com as necessidades dos jogos em mente. Site [Apache-2.0]
- Aubio - Uma biblioteca para análise de áudio e música. Site [GPL-3.0]
- AudioFile – Uma biblioteca C++ simples para leitura e gravação de arquivos de áudio. [MIT]
- audioFlux - biblioteca AC para análise de áudio e música, extração de recursos. [MIT]
- dr_libs – Bibliotecas de decodificação de áudio de arquivo único para C e C++. [Sem licença]
- FMOD - Um mecanismo de áudio multiplataforma fácil de usar e uma ferramenta de criação de conteúdo de áudio para jogos. [Gratuito para não comercial/comercial]
- KFR - Estrutura C++ DSP rápida e moderna, FFT, filtros FIR/IIR, conversão de taxa de amostragem. [GPL/Proprietário]
- LAME - LAME é um codificador MPEG Audio Layer III (MP3) de alta qualidade. [LGPL]
- libsndfile - Biblioteca C com wrapper C++ para leitura e gravação de arquivos contendo som amostrado por meio de uma interface de biblioteca padrão. Site [LGPL-2.1]
- libsoundio - Biblioteca C para entrada e saída de áudio em tempo real entre plataformas. Site do [MIT]
- Maximilian - Biblioteca DSP de áudio e música C++. [MIT]
- OpenAL - Open Audio Library - Uma API de áudio multiplataforma. [BSD/LGPL/Proprietário]
- miniaudio - Biblioteca de reprodução e captura de áudio de arquivo único. Site [sem licença]
- ni-media - biblioteca C++ para leitura e gravação de arquivos de áudio. [MIT]
- Opus - Um codec de áudio totalmente aberto, isento de royalties e altamente versátil. [BSD]
- PortAudio - PortAudio é uma biblioteca de E/S de áudio gratuita, multiplataforma e de código aberto. [MIT]
- rnnoise - Rede neural recorrente para redução de ruído de áudio. [BSD-3-Cláusula]
- SELA - Áudio Simples sem Perdas. [MIT]
- SoLoud - mecanismo de áudio portátil e fácil para jogos. [zlib]
- Speex – Um codec gratuito para liberdade de expressão. Obsoleto pela Opus. [BSD]
- Tonic - Síntese de áudio fácil e eficiente em C++. [Sem licença]
- Vorbis - Ogg Vorbis é um formato de áudio compactado de uso geral totalmente aberto, não proprietário, livre de patentes e royalties. [BSD]
- minimp3 - Decodificador de MP3 de domínio público, somente cabeçalho, com implementação de sala limpa. [CC0]
- Verovio - Verovio é uma biblioteca de gravação de notação musical rápida e leve. Site [LGPL]
- Wav2Letter++ - Domínio público, um kit de ferramentas de processamento de fala de código aberto rápido escrito inteiramente em C++ e usa a biblioteca de tensores ArrayFire e a biblioteca de aprendizado de máquina lanterna para máxima eficiência. [BSD]
Biologia
Bioinformática, Genômica, Biotecnologia
- BioC++ - Bibliotecas Computacionais C++ para Bioinformática. [BSD]
- Chaste - Uma biblioteca C++ de código aberto para simulação computacional de modelos matemáticos desenvolvidos para fisiologia e biologia. [BSD]
- libsequence - Uma biblioteca C++ para representar e analisar dados de genética populacional. [GPL]
- SeqAn - Algoritmos e estruturas de dados para análise de sequências com foco em dados biológicos. [BSD/cláusula 3]
- Vcflib - Uma biblioteca C++ para analisar e manipular arquivos VCF. [MIT]
- Wham - Variantes estruturais (SVs) em genomas aplicando diretamente testes de associação a arquivos BAM. [MIT]
BitTorrent
- jech/dht - Biblioteca BitTorrent DHT em C. [MIT]
- libtorrent (também conhecido como libtorrent-rasterbar) - Um recurso eficiente de implementação completa de bittorrent em C++. [BSD]
- LibTorrent (também conhecido como libtorrent-rakshasa) - biblioteca BitTorrent. [GPL]
- libutp - biblioteca do protocolo de transporte uTorrent. [MIT]
Química
Química, Química Quântica, Química/Física do Estado Sólido, Geoquímica, Bioquímica
- d-SEAMS - Um mecanismo de análise de trajetória de dinâmica molecular em C++ e Lua com Nix. É um acrônimo para Deferred Structural Elucidation Analysis for Molecular Simulations. Site [GPL]
- gromacs - Uma implementação de dinâmica molecular paralela para passagem de mensagens. Site [GPL]
- Reaktoro - Uma estrutura computacional em C++ e Python para modelagem de sistemas quimicamente reativos. Site [LGPL]
- LAMMPS - Um código clássico de dinâmica molecular com foco em modelagem de materiais. É um acrônimo para Simulador Atômico/Molecular Massivamente Paralelo em Grande Escala. Site [GPL]
- MADNESS - Ambiente Numérico Adaptativo Multiresolução para Simulação Científica. Site [GPL]
- MPQC - O programa Massively Parallel Quantum Chemistry, MPQC, calcula propriedades de átomos e moléculas a partir de primeiros princípios usando a equação de Schrödinger independente do tempo. Site [GPL]
- ORCA - Um pacote de programa de química quântica ab initio que contém métodos modernos de estrutura eletrônica. Site [acadêmico]
- Psi - Um pacote de química computacional ab initio. Site [GPL]
CLI
Interface de usuário do console/terminal, interface de linha de comando
- Argh! - Um manipulador de argumentos minimalista, livre de frustrações e apenas de cabeçalho. [BSD]
- argparse - Analisador de argumentos para C++ moderno. [MIT]
- args - Uma biblioteca simples de analisador de argumentos C++ somente de cabeçalho. [MIT]
- barkeep - Pequeno cabeçalho C++ para exibir animações assíncronas, contadores e barras de progresso. Site [Apache-2.0]
- Boost.Program_options – Uma biblioteca para obter opções de programas através de métodos convencionais, como linha de comando e arquivo de configuração. Site [Boost]
- cli - Uma biblioteca C++14 apenas de cabeçalho de plataforma cruzada para interfaces de linha de comando interativas (estilo Cisco). [Impulsionar]
- CLI11 - Biblioteca C++11 de cabeçalho único ou de vários arquivos para análise CLI simples e avançada. [BSD]
- clipp - Tratamento de argumentos de linha de comando fácil de usar, poderoso e expressivo para C++ 11/14/17 contido em um único arquivo de cabeçalho. [MIT]
- cpp-terminal - Biblioteca C++ apenas de cabeçalho pequeno para escrever aplicativos de terminal multiplataforma. [MIT]
- Ctrl+C - Biblioteca multiplataforma C++11 para lidar com eventos Ctrl+C em funções personalizadas. [MIT]
- cxxopts - Analisador leve de opções de linha de comando C++. [MIT]
- docopt.cpp - Uma biblioteca para gerar analisador de opções a partir de docstring. [MIT/Impulso]
- FINAL CUT - Biblioteca para criação de aplicações de terminal com widgets baseados em texto. [LGPL]
- FTXUI - Interface de usuário de terminal funcional C++. [MIT]
- gflags - Módulo de sinalizadores de linha de comando para C++. [BSD]
- imtui - Interface de usuário baseada em texto em modo imediato. [MIT]
- indicadores - Indicadores de atividade para C++ moderno. [MIT]
- linenoise - Uma pequena alternativa independente para readline e libedit. [BSD-2-Cláusula]
- linenoise-ng - Um pequeno e portátil substituto do readline GNU para Linux, Windows e MacOS que é capaz de lidar com caracteres UTF-8. [BSD]
- Lyra - Um analisador de linha de comando simples de usar e combinável para C++ 11 e superior. [Impulsionar]
- Ncurses - Uma interface de usuário de terminal. [MIT]
- oof - Controle de posição e cor RGB conveniente e de alto desempenho para saída do console. [MIT]
- PDCurses - Biblioteca de maldições de domínio público com código-fonte e biblioteca pré-compilada disponíveis. [Domínio Público]
- popl - Argumentos de linha de comando com modelo de cabeçalho único e analisador de arquivo ini para C++ 11 e posteriores. [MIT]
- replxx - Um substituto de readline e libedit que suporta UTF-8, realce de sintaxe, dicas, funciona em Unix e Windows. [BSD]
- tabulate - Criador de tabelas para C++ moderno. [MIT]
- TCLAP - Uma biblioteca madura, estável e rica em recursos para definir e acessar argumentos de linha de comando em ANSI C++. [MIT]
- termbox - biblioteca AC para escrever interfaces de usuário baseadas em texto. [MIT]
- TermOx - Biblioteca de interface de usuário de terminal C++17 (TUI). [MIT]
- tuibox - Uma biblioteca UI de terminal de cabeçalho único (TUI), capaz de criar aplicativos interativos acionados por mouse na linha de comando. [MIT]
Compressão
Bibliotecas de compactação e arquivamento
- bit7z - Uma biblioteca estática C++ que oferece uma interface limpa e simples para as bibliotecas compartilhadas 7-zip. [MPL2]
- Brotli - formato de compactação Brotli. Desenvolvido pelo Google. [MIT]
- bzip2 - Um compressor de dados de alta qualidade, disponível gratuitamente, sem patentes. [BSD]
- bzip3 - Um sucessor espiritual melhor e mais forte do BZip2. [LGPL]
- FastLZ - Compactação LZ77 alinhada a bytes pequena e portátil. [MIT]
- FiniteStateEntropy - Codecs de entropia de nova geração: Finite State Entropy e Huff0.
- heatshrink - biblioteca de compressão de dados para sistemas embarcados/em tempo real [ISC]
- Kanzi - um compressor de dados sem perdas moderno, modular, portátil e eficiente implementado em C++. [Apache-2.0]
- KArchive - Uma biblioteca para criar, ler, escrever e manipular arquivos compactados como zip e tar. Ele também fornece compactação e descompactação transparente de dados, usando formatos como gzip, por meio de uma subclasse de QIODevice. [LGPL]
- libarchive - Arquivo multiformato e biblioteca de compactação. Site do [Novo BSD]
- LZ4 - Algoritmo de compressão extremamente rápido. Site [BSD]
- LZFSE - Biblioteca de compactação LZFSE e ferramenta de linha de comando. Desenvolvido pela Apple.
- LZHAM - Biblioteca de compactação de dados sem perdas com taxa de compactação semelhante à LZMA, mas com descompactação muito mais rápida. [BSD]
- LZMA ⚡ - O método de compactação padrão e geral do formato 7z. Site [PublicDomain]
- LZMAT - Uma biblioteca de compactação de dados sem perdas em tempo real extremamente rápida. [GPL]
- miniz - Biblioteca de compactação Deflate/Inflate de arquivo de origem C único com API compatível com zlib, leitura/gravação de arquivo ZIP, gravação PNG. [MIT]
- Minizip - Zlib com correções de bugs mais recentes que suporta abrangência de disco PKWARE, criptografia AES e buffer de IO. [zlib]
- minizip-ng - Fork da popular biblioteca de manipulação de zip encontrada na distribuição zlib. [zlib]
- PhysicsFS - Uma biblioteca para fornecer acesso abstrato a vários arquivos. Ele foi projetado para uso em videogames e o design foi inspirado no subsistema de arquivos do Quake 3. [zlib]
- Rapidgzip - Descompressão Gzip e acesso aleatório para máquinas multi-core modernas. [Apache-2/MIT]
- smaz - Biblioteca de compactação de pequenas strings. [BSD]
- Snappy - Um compressor/descompressor rápido. [BSD]
- ZLib – Uma biblioteca de compactação muito compacta para fluxos de dados. [zlib]
- zlib-ng - zlib para os sistemas de "próxima geração". Substituição imediata com algumas otimizações sérias. [zlib]
- zstd - Zstandard - Algoritmo de compactação rápida em tempo real. Desenvolvido pelo Facebook. [BSD]
- ZZIPlib - Fornece acesso de leitura em arquivos ZIP. [MPL/LGPL]
Simultaneidade
Simultaneidade e multithreading
- alpaka - Biblioteca de abstração para aceleração paralela do kernel. [LGPLv3+]
- ArrayFire – Uma biblioteca GPU de uso geral. [BSD]
- Async++ - Uma estrutura de simultaneidade leve para C++ 11, inspirada na biblioteca Microsoft PPL e na proposta do padrão N3428 C++. [MIT]
- Boost.Compute - Uma biblioteca de computação GPU C++ para OpenCL. Site [Boost]
- Bolt – Uma biblioteca de modelos C++ otimizada para GPUs. [Apache2]
- BS::thread_pool – Uma biblioteca de pool de threads C++17 rápida, leve e fácil de usar [MIT]
- Canal - contêiner thread-safe para compartilhamento de dados entre threads. [MIT]
- ck - Primitivas de simultaneidade, mecanismos seguros de recuperação de memória e estruturas de dados sem bloqueio. [BSD]
- concurrentqueue - Uma fila simultânea rápida, multiprodutor e multiconsumidor, sem bloqueio para C++ 11. [BSD, Impulso]
- Coros - Uma biblioteca rápida e fácil de usar para paralelismo baseado em tarefas, utilizando corrotinas. [BSL-1.0]
- CUB - CUB fornece componentes de software reutilizáveis e de última geração para cada camada do modo de programação CUDA. [Novo BSD]
- cuda-api-wrappers - Wrappers leves e modernos em C++ para a API de tempo de execução de programação de GPU CUDA. [BSD]
- cupla - API C++ para executar CUDA/C++ em OpenMP, Threads, TBB, ... através do Alpaka. [LGPLv3+]
- C++React – Uma biblioteca de programação reativa para C++11. [Impulsionar]
- FiberTaskingLib – Biblioteca multithreading baseada em tarefas que oferece suporte a gráficos de tarefas com dependências arbitrárias. [Apache]
- HPX - Um sistema de tempo de execução C++ de uso geral para aplicativos paralelos e distribuídos de qualquer escala. [Impulsionar]
- Intel Games Task Scheduler - Uma estrutura de agendamento de tarefas projetada para as necessidades dos desenvolvedores de jogos. [MIT]
- Intel Parallel STL - implementação Intel® de C++17 STL para C++11 e superior. [Apache2]
- Intel TBB - Blocos de construção de threading Intel®. [Apache2]
- junção - Uma biblioteca de estruturas de dados simultâneas em C++. [BSD]
- Kokkos - Um modelo de programação portátil de desempenho para execução paralela e abstração de memória. [BSD]
- libcds - Uma biblioteca C++ de estruturas de dados simultâneas. [BSD]
- Libclsph - Uma biblioteca de simulação de fluidos SPH acelerada por GPU baseada em OpenCL. [MIT]
- libdill - Introduz simultaneidade estruturada em C. [MIT]
- libdispatch - Grand Central Dispatch (GCD), desenvolvido pela Apple Inc., é uma tecnologia de paralelismo de tarefas baseada no padrão de pool de threads. libdispatch é uma biblioteca que fornece a implementação dos serviços do GCD. Site [Apache-2.0]
- libfork - Uma biblioteca de tarefas de ponta, sem bloqueios, sem espera e que rouba continuação, construída nas corrotinas do C++20. Site [MPL-2.0]
- libmill - Introduz simultaneidade estilo Go em C. [MIT]
- marl - Marl é um agendador de tarefas híbrido de thread/fibra escrito em C++ 11. [Apache-2.0]
- moderngpu - moderngpu é uma biblioteca de produtividade para computação de uso geral em GPUs. É uma biblioteca C++ somente de cabeçalho escrita para CUDA. O valor único da biblioteca está em suas primitivas aceleradas para resolver problemas irregularmente paralelos. [FreeBSD e direitos autorais, Sean Baxter]
- NCCL - Primitivas otimizadas para comunicação coletiva multi-GPU. [BSD]
- Neco - Biblioteca de simultaneidade para C (corrotinas). [MIT]
- OpenCL – O padrão aberto para programação paralela de sistemas heterogêneos.
- OpenMP - A API OpenMP.
- rotor - Microestrutura de ator C++ compatível com loop de eventos. [MIT]
- SObjectizer - Uma implementação dos modelos Actor, Publish-Subscribe e CSP em uma estrutura C++ bastante pequena. [BSD-3-Cláusula]
- Quantum - Uma poderosa estrutura de despachante de rotina C++ construída sobre Boost.Coroutine2.
- RaftLib - A biblioteca RaftLib C++, simultaneidade de streaming/fluxo de dados por meio de operadores C++ semelhantes a iostream. [Apache2]
- readerwriterqueue - Uma fila rápida, de produtor único e consumidor único, sem bloqueios para C++. [BSD]
- stdgpu - Estruturas de dados eficientes semelhantes a STL na GPU. [Apache2]
- Fluxo de tarefas - um sistema de programação de tarefas paralelas e heterogêneas de uso geral. (renomeado de Cpp-Taskflow) [MIT]
- ThreadPool - Uma implementação simples de pool de threads C++ 11 [zlib]
- Thrust - Uma biblioteca de algoritmos paralelos que se assemelha à C++ Standard Template Library (STL). [Apache2]
- transwarp - Uma biblioteca C++ somente de cabeçalho para simultaneidade de tarefas. [MIT]
- VexCL - Uma biblioteca de modelos de expressão vetorial C++ para OpenCL/CUDA. [MIT]
- STAPL - Uma estrutura de programação paralela C++ projetada para funcionar em computadores paralelos com memória compartilhada e distribuída. [BSD]
- concurrencpp - Uma biblioteca de simultaneidade geral contendo tarefas, executores, temporizadores e corrotinas C++20 para governar todos eles.
Configuração
Arquivos de configuração, arquivos INI
- inifile-cpp - Um analisador de arquivo Ini somente de cabeçalho e fácil de usar para C++. [MIT]
- inih - Analisador simples de arquivos .INI em C, bom para sistemas embarcados. [BSD-3-Cláusula]
- inih - Versão C++ apenas de cabeçalho único do inih. [BSD-3-Cláusula]
- ini-cpp - Versão C++ apenas de cabeçalho único, com alguma interface útil de leitura/gravação, estendida do inih. Site [BSD-3-Cláusula]
- iniparser - analisador de arquivo INI. [MIT]*
- inipp - Analisador e gerador C++ ini simples somente de cabeçalho. [MIT]
- libconfig - biblioteca C, C++ para processamento de arquivos de configuração estruturados. Site [LGPL-2.1]
- libconfuse - Pequena biblioteca analisadora de arquivos de configuração para C. [ISC]
- mini - leitor e gravador de arquivos INI. [MIT]
- simpleini - Biblioteca C++ multiplataforma que fornece uma API simples para ler e escrever arquivos de configuração no estilo INI. [MIT]
- toml++ – analisador e serializador TOML somente de cabeçalho para C++17 e posterior. Site do [MIT]
- toml11 - um analisador/codificador toml somente de cabeçalho C++ 11 (ou posterior), dependendo apenas da biblioteca padrão C++. [MIT]
Recipientes
- Árvore B C++ - Uma biblioteca de modelos que implementa contêineres ordenados na memória com base em uma estrutura de dados de árvore B. [Apache2]
- dynamic_bitset - Bibliotecas simples e úteis: bitset dinâmico somente de cabeçalho C++ 17/20. Site do [MIT]
- fixed-containers - Biblioteca C++20 somente de cabeçalho que fornece contêineres constexpr de capacidade fixa. [MIT]
- flat_hash_map - Uma hashtable plana muito rápida com hash Fibonacci.
- frozen - uma alternativa constexpr somente de cabeçalho ao gperf para usuários do C++ 14. [Apache-2.0]
- Hashmaps - Implementação de algoritmos de tabela hash de endereçamento aberto em C++. [MIT]
- hat-trie - implementação em C++ de um HAT-trie rápido e com uso eficiente de memória. [MIT]
- Mapa de amarelinha - Um mapa hash rápido apenas de cabeçalho que usa hash de amarelinha para resolução de colisões. [MIT]
- LSHBOX - Uma caixa de ferramentas c++ de hashing sensível à localidade (LSH), fornece vários algoritmos LSH populares, também suporta Python e MATLAB. [GPL]
- paralelo-hashmap - Uma família de sites de contêineres btree e hashmap somente de cabeçalho, muito rápidos e com memória amigável [Apache2]
- Índice PGM - Uma estrutura de dados que permite pesquisa rápida, predecessor, pesquisas de intervalo e atualizações em matrizes de bilhões de itens usando ordens de magnitude menos espaço do que os índices tradicionais. Site [Apache2]
- plf::colony - Um contêiner do tipo "bag" não ordenado que supera os contêineres std em cenários de alta modificação, mantendo ponteiros permanentes para elementos não apagados, independentemente da inserção/apagamento. Site [zLib]
- plf::list - Uma implementação std::list que remove a emenda de intervalo para permitir uma estrutura mais amigável ao cache, gerando ganhos significativos de desempenho. Site [zLib]
- plf::stack - Um contêiner substituto para o adaptador de contêiner std::stack, com melhor desempenho do que qualquer contêiner std em um contexto de pilha. Site [zLib]
- ring_span lite - Uma implementação simplificada da implementação ring_span de Arthur O'Dwyer, ou seja. uma visão de buffer circular. [MIT]
- robin-hood-hashing - Hashtable rápido e com uso eficiente de memória baseado em hashing robin Hood para C++ 14. [MIT]
- robin-map - Mapa hash rápido e conjunto de hash usando hashing Robin Hood. [MIT]
- sparsepp - Um mapa hash rápido e com uso eficiente de memória para C++. [BSD 3 cláusula]
- st_tree - Uma classe de modelo C++ rápida e flexível para estruturas de dados em árvore. [Apache-2.0]
- svector - Vetor compacto SVO otimizado para C++ 17 ou superior. [MIT]
- tree.hh - Uma biblioteca de árvore C++ somente de cabeçalho semelhante a STL. [GPL2+]
- unordered_dense - Um hashmap e hashset rápido e densamente armazenado com base na exclusão de retrocesso do robin-hood. [MIT]
Criptografia
Bibliotecas de criptografia e criptografia
- Bcrypt - Um utilitário de criptografia de arquivos de plataforma cruzada. Os arquivos criptografados são portáteis em todos os sistemas operacionais e processadores suportados. [BSD]
- BeeCrypt – Uma biblioteca de criptografia portátil e rápida. [LGPLv2.1+]
- Botan - Uma biblioteca criptográfica para C++. [BSD-2]
- Crypto++ - Uma biblioteca gratuita de classes C++ de esquemas criptográficos. Site [Boost]
- digestpp - biblioteca de resumo de mensagens (hash) somente de cabeçalho C++ 11. [Domínio Público]
- GnuPG – Uma implementação completa e gratuita do padrão OpenPGP. [GPL]
- GnuTLS – Uma biblioteca de comunicações seguras que implementa os protocolos SSL, TLS e DTLS. [LGPL2.1]
- Libgcrypt – Uma biblioteca criptográfica de uso geral originalmente baseada no código do GnuPG. [LGPLv2.1+]
- LibreSSL - Uma versão gratuita do protocolo SSL/TLS bifurcada do OpenSSL em 2014. [?]
- libsodium - P(ortable|ackageable) biblioteca criptográfica baseada em NaCl, opinativa e fácil de usar. [ISC]
- libhydrogen – Uma biblioteca criptográfica leve, segura e fácil de usar, adequada para ambientes restritos. [ISC]
- LibTomCrypt – Um kit de ferramentas criptográficas bastante abrangente, modular e portátil. [WTFPL]
- mbedTLS - Uma biblioteca SSL de código aberto, portátil, fácil de usar, legível e flexível, anteriormente conhecida como PolarSSL. Site [Apache2]
- Nettle - Uma biblioteca criptográfica de baixo nível. [LGPL]
- OpenSSL - Uma biblioteca de criptografia robusta, de nível comercial, completa e de código aberto. Site [Apache]
- retter – Uma coleção de funções hash, cifras, ferramentas, bibliotecas e materiais relacionados à criptografia.
- s2n - Uma implementação dos protocolos TLS/SSL. [Apache]
- sha1collisiondetection - Biblioteca e ferramenta de linha de comando para detectar colisão SHA-1 em um arquivo. [MIT]
- Tink - Uma biblioteca multilíngue e multiplataforma que fornece APIs criptográficas seguras, fáceis de usar corretamente e difíceis de usar indevidamente. [Apache-2.0]
- Tiny AES em C - Pequeno AES128/192/256 portátil em C. [PublicDomain]
- Themis - biblioteca criptográfica para segurança de dados sem complicações, fornecendo criptografia simétrica e assimétrica, soquetes seguros com sigilo direto, para plataformas móveis e de servidor. [Apache2]
- HEhub – Uma biblioteca para criptografia homomórfica e suas aplicações. [Apache2]
CSV
Bibliotecas para análise de arquivos de valores separados por vírgula (CSV)
- vírgula - Apenas outro analisador CSV C++ 17 somente de cabeçalho. [Sem licença]
- csv2 - analisador CSV rápido para C++ moderno. [MIT]
- Csv::Parser - analisador CSV em tempo de compilação e tempo de execução escrito em C++17. [Zlib]
- Analisador rápido de C++ CSV - Biblioteca pequena, fácil de usar e rápida somente de cabeçalho para leitura de arquivos CSV. [BSD-3-Cláusula]
- Glaze - Biblioteca CSV de alto desempenho, apenas cabeçalho, com suporte a reflexão. [MIT]
- preguiçosocsv - Um analisador csv rápido, leve e de cabeçalho único para C++ moderno. [MIT]
- ssp - Um analisador "csv" somente de cabeçalho que é rápido e versátil com a API C++ moderna. [MIT]
- Analisador CSV de Vince - Um analisador CSV C++17 de streaming rápido e independente com conversão de tipo e estatísticas opcionais. [MIT]
Banco de dados
Bibliotecas de banco de dados, servidores SQL, drivers ODBC e ferramentas
- ClickHouse - cliente C++ para ClickHouse DBMS. [Apache2]
- CrossDB - RDBMS OLTP incorporado e de servidor leve de ultra alto desempenho. Site [MPL-2.0]
- DuckDB - sistema de gerenciamento de banco de dados SQL OLAP em processo. Site do [MIT]
- hiberlite - Mapeamento objeto-relacional C++ para sqlite3. [BSD]
- Hiredis – Uma biblioteca cliente C minimalista para o banco de dados Redis. [BSD]
- Infinity - O banco de dados nativo de IA desenvolvido para aplicativos LLM, fornecendo pesquisa vetorial e de texto completo incrivelmente rápida. [Apache2]
- Kuzu - Sistema de gerenciamento de banco de dados gráfico de propriedades incorporável desenvolvido para velocidade de consulta e escalabilidade. Implementa Cypher. Site do [MIT]
- Kvrocks - Um banco de dados NoSQL de valor-chave distribuído que usa RocksDB como mecanismo de armazenamento e é compatível com o protocolo Redis. [Apache2]
- LevelDB - Uma biblioteca rápida de armazenamento de valores-chave escrita no Google que fornece um mapeamento ordenado de chaves de string para valores de string. [BSD]
- libpg_query - biblioteca C para acessar o analisador PostgreSQL fora do ambiente do servidor. [BSD-3-Cláusula]
- libpqxx – A API cliente C++ oficial para PostgreSQL. [BSD-3-Cláusula]
- LMDB - Armazenamento de chave/valor incorporado muito rápido com semântica ACID completa. [AbrirLDAP]
- LMDB++ - wrapper C++11 para a biblioteca de banco de dados incorporada LMDB. [Domínio Público]
- mgclient - Cliente Memgraph C/C++. [Apache2]
- Driver MongoDB C - biblioteca cliente MongoDB para C. [Apache2]
- Driver MongoDB C++ - driver C++ para MongoDB. [Apache2]
- MongoDB Libbson - Uma biblioteca utilitária BSON. [Apache2]
- MySQL++ - Um wrapper C++ para API C do MySQL. [LGPL]
- nanodbc - Um pequeno wrapper C++ para a API C ODBC nativa. [MIT]
- ODB - Um sistema de mapeamento objeto-relacional (ORM) de código aberto, plataforma cruzada e banco de dados cruzado para C++. [GPLv2]
- redis3m - Wrapper de Hiredis com interface C++ limpa, suportando sentinela e padrões prontos para uso. [Apache2]
- Reindexer - Banco de dados incorporável, na memória e orientado a documentos com uma interface de construtor de consultas de alto nível. Site [Apache2]
- RocksDB - Armazenamento de valores-chave incorporado para armazenamento rápido no Facebook. [BSD]
- SimDB - Alto desempenho, memória compartilhada, sem bloqueio, plataforma cruzada, arquivo único, dependências mínimas, armazenamento de chave-valor C++ 11. [Apache2]
- SOCI - Uma camada de abstração de banco de dados para C++. [Impulsionar]
- Speedb - Projeto liderado pela comunidade: Um armazenamento de valores-chave integrado escalável de alto desempenho compatível com RocksDB. [Apache2]
- SQLite - Um banco de dados relacional totalmente integrado e completo em apenas 100k que você pode incluir diretamente em seu projeto. [Domínio Público]
- SQLiteC++ - SQLiteC++ (SQLiteCpp) é um wrapper C++ SQLite3 inteligente e fácil de usar. [MIT]
- sqlite_modern_cpp - Wrapper C++14 apenas de cabeçalho em torno da biblioteca sqlite. [MIT]
- sqlite_orm - biblioteca SQLite ORM apenas de cabeçalho leve para C++ moderno. [AGPL + MIT pago]
- sqlpp11 - Uma linguagem específica de domínio incorporada de tipo seguro para consultas SQL e resultados em C++. [BSD-2-Cláusula]
- TileDB - SGBD de array multidimensional rápido, denso e esparso. Site do [MIT]
- TinyORM - Biblioteca C++ ORM moderna. Site do [MIT]
- UnQLite - Um mecanismo NoSQL transacional independente, sem servidor e sem configuração. Site [BSD-2-Cláusula]
- upscaledb - Um armazenamento de chave/valor "digitado" incorporado com uma interface de consulta integrada. [GPLv3]
- Cliente TigerBeetleDB C++ (Comunidade) - TigerBeetle é um banco de dados de contabilidade financeira projetado para segurança e desempenho de missão crítica para impulsionar o futuro dos serviços financeiros. [BSL-1.0]
- Trilogy - uma biblioteca cliente para servidores de banco de dados compatíveis com MySQL, projetada para desempenho, flexibilidade e facilidade de incorporação. [MIT]
- UStore - banco de dados multimodal para BLOBs, JSON e gráficos. [Apache2]
- Velox - Uma biblioteca de aceleração de banco de dados vetorizada em C++ destinada a otimizar mecanismos de consulta e sistemas de processamento de dados. Site [Apache-2.0]
Visualização de dados
Bibliotecas de visualização de dados
- matplotplusplus - Biblioteca gráfica C++ para visualização de dados. Site do [MIT]
Depurar
Bibliotecas de depuração, detecção de vazamento de memória e vazamento de recursos, testes de unidade
- backward-cpp - Uma bela impressora de rastreamento de pilha para C++. [MIT]
- Bencher – Um conjunto de ferramentas de benchmarking contínuo projetadas para capturar regressões de desempenho em CI. [MIT]/[Apache2]
- benchmark - o Google forneceu uma pequena biblioteca de suporte de microbenchmark. [Apache2]
- Boost.Test - Biblioteca de testes de reforço. Site [Boost]
- check - Check é uma estrutura de teste de unidade para o site C. [LGPL-2.1]
- doctest - A estrutura de teste de cabeçalho único C++ rica em recursos mais leve. [MIT]
- Catch2 - Uma estrutura de teste moderna, nativa em C++, para testes unitários, TDD e BDD. [Impulsionar]
- Celero - Estrutura de benchmarking C++. [Apache2]
- cpp-dump - Uma biblioteca C++ para fins de depuração que pode imprimir qualquer variável, até mesmo tipos definidos pelo usuário. [MIT]
- CppUTest - Estrutura de testes unitários e simulação para C/C++. [BSD-3-cláusula]
- CUTE - Teste de unidade C++ mais fácil. [LGPL3]
- CMocka - estrutura de teste unitário para C com suporte para objetos simulados. [Apache2]
- CppBenchmark - Estrutura de benchmark de desempenho para C++ com precisão de medição de nanossegundos. [MIT]
- CPPTRACE - Uma biblioteca de pilha C ++ simples, portátil e independente que suporta C ++ 11 e maior. [MIT]
- Cppunit - porta c ++ do JUNIT. [LGPL2]
- CTEST - O Programa de Driver de Teste CMake. [BSD]
- DBG -Macro - uma macro DBG (…) para C ++. [MIT]
- DebugViewpp - Visualizador de Logging Debug. [Impulsionar]
- Deleaker - Uma ferramenta para detecção de vazamento de recursos, incluindo memória, GDI e vazamentos de manipulação.
- Fakeit - estrutura de zombaria simples para C ++. [MIT]
- FFF - Um micro -quadrowork para criar funções C falsas. [MIT]
- Google Mock - uma biblioteca para escrever e usar classes de zock c ++. [BSD]
- Teste do Google - Estrutura de teste do Google C ++. [BSD]
- IG -debugheap - Multiplatform Debug Heap útil para rastrear erros de memória. [BSD]
- Libassert - A biblioteca de asserção C ++ mais engenhosa. [MIT]
- LIBTAP - Escreva testes em C. [GPL2]
- Microprofile - Profiler com visualização da web para várias plataformas. [UNICENSE]
- Minunit - Uma estrutura de teste de unidade mínima para C independente em um único arquivo de cabeçalho. [MIT]
- Mockator - Eclipse CDT Plug -in para costuras C ++ e objetos simulados.
- Nanobench - Funcionalidade de microbenchmarking simples, rápida e precisa de um único cabeçalho para C ++ 11/11/17/20. [MIT] Site
- Nanotimer-Uma classe de temporizador de plataforma cruzada de baixa ponta simples simples para benchmarking. [Zlib] Site
- NONUS - Uma estrutura de micro -benchmarking C ++. [CC]
- Remotery - Profiler de arquivo C único com o Web Viewer. [Apache2]
- SNITCH - estrutura de teste leve C ++ 20. [Impulsionar]
- TOUCA-Sistema de teste de regressão de código aberto que você pode se auto-hospedeiro. [Apache2] Site
- Unittest ++ - Uma estrutura de teste de unidade leve para C ++. [MIT/X Licença de consórcio]
- Unidade - teste de unidade simples para C. [MIT]
- UTEST.H - Estrutura de teste de unidade de cabeçalho único para C e C ++. [UNICENSE]
- μT - C ++ 20 Cabeçalho único/módulo único, μ livre de macro (Micro)/Estrutura de teste de unidade. [Impulsionar]
- VLD - detector de vazamento visual. Um sistema de detecção de vazamento de memória gratuito, robusto e de código aberto para C ++ visual.
Documentação
- Doxide - Documentação Moderna para C ++ moderno, configure com YAML, em saída Markdown. [Apache 2.0] Site
- Doxygen ⚡ - A ferramenta padrão de fato para gerar documentação a partir de fontes de C ++ anotadas. [GPL2] Site
- DoxyRest - um compilador do Doxygen XML para reestruturar otext para Sphinx. [MIT]
- HDOC - A ferramenta moderna de documentação para C ++. [AGPL/Proprietário] Site
- DOCs naturais - O Natural Docs é um gerador de documentação de código aberto para várias linguagens de programação. [AGPL/Proprietário] Site
- Esfinge - Esfinge facilita a criação de documentação inteligente e bonita. [BSD-2-cláusula] Site
DSP
Processamento de sinal digital.
- DSPFilters - Uma coleção de classes C ++ úteis para processamento de sinal digital. [MIT]
- FFTW - Biblioteca AC para calcular o DFT em uma ou mais dimensões. [GPL]
- IIR1 - Biblioteca de filtro C ++ em tempo real. [MIT]
- KISSFFT - Uma biblioteca rápida de Fourier Transform (FFT) que tenta mantê -la simples, estúpida. [BSD-3-cláusula]
- Pocketfft - implementação da FFT com base no FFTPack, mas com várias melhorias. [BSD-3-cláusula]
- Wavelib - C Implementação de transformações de wavelet 1D e 2D. [BSD-3-cláusula]
Fonte
Bibliotecas para analisar e manipular arquivos de fonte.
- FontConfig - Biblioteca de Configuração e Personalização de Font. [MIT] Site
- Freetype - Freetype é uma biblioteca de software disponível gratuitamente para renderizar fontes. [FTL & GPLV2]
- OTFCC - Biblioteca e utilitário AC usados para analisar e escrever arquivos de fonte OpenType. [Apache-2.0]
- Harfbuzz - um mecanismo de moldagem de texto. [Old MIT]
- Libschrift - uma biblioteca de renderização de fontes TrueType leve. [ISC]
Motor de jogo
- Ácido - Um motor de jogo C ++ 17 de alta velocidade. [MIT]
- Allegro - Uma biblioteca de plataformas cruzadas direcionou principalmente videogames e programação multimídia. [Zlib]
- Motor AXMOL-Um motor de jogo de plataforma cruzada para desktop, celular e Xbox (UWP), derivado de Cocos2D-X-4.0. [MIT] Site
- COCOS2D-X-Uma estrutura de várias plataformas para a construção de jogos 2D, livros interativos, demos e outras aplicações gráficas. [MIT]
- Corange - Um mecanismo de jogo escrito em Pure C, SDL e OpenGL. [BSD]
- Crown-Crown é um mecanismo de jogo baseado em dados de uso geral, escrito do zero em C ++ ortodoxo com uma filosofia de design minimalista e orientada a dados em mente. [MIT]
- Delta3D - uma plataforma de simulação robusta. [LGPL2]
- ENTT - O jogo atende ao C ++ moderno. [MIT]
- Jogabilidade - Uma estrutura de jogo C ++ nativa de plataforma cruzada para criar jogos móveis e de mesa 2D/3D. [Apache2]
- GODOT - Um mecanismo de jogo de código aberto, de código aberto, MIT, licenciado. [MIT]
- Grit - Projeto Comunitário para construir um mecanismo de jogo gratuito para a implementação de jogos 3D do Open World. [MIT]
- HALLEY - Um mecanismo de jogo leve escrito em C ++ 14 com um sistema "verdadeiro" de componentes de entidade. [Apache 2.0]
- JNGL - Biblioteca 2D para Linux, Windows, MacOS, Android, iOS, Xbox, o Nintendo Switch e a Web. [Zlib] Site
- KLAYGE-Um mecanismo de jogo de código aberto de plataforma cruzada com arquitetura baseada em plug-in. [GPLV2] Site
- NCINE - Um mecanismo de jogo 2D de plataforma cruzada com ênfase no desempenho, escrita em C ++ 11 e opcionalmente scriptsable em Lua. [MIT] Site
- O3DE-Um motor 3D de código aberto, em tempo real, em tempo real, com várias plataformas, baseado no Amazon Lumberyard. [Apache2] Site
- OpenXray-Um motor de raios-X modificado pela comunidade usado na série de jogos de perseguidores. [BSD modificado/apenas não comercial]
- Oxigino - um mecanismo de jogo 2D C ++ de plataforma cruzada. [MIT]
- PANDA3D - Um mecanismo de jogo, uma estrutura para renderização em 3D e desenvolvimento de jogos para programas Python e C ++. [BSD modificado] Site
- PixelgameEngine - A distribuição oficial do olcpixelgameengine, uma ferramenta usada nos vídeos e projetos do JavidX9 no YouTube. [OLC3]
- POLYCODE - Uma estrutura de plataforma cruzada para código criativo em C ++ (com ligações Lua). [MIT] Site
- QuakeForge - Filial mantida ativamente do código de mecanismo de terremoto original com mais de 20 anos de desenvolvimento. [GPL-2.0]
- Raylib-Uma biblioteca simples e fácil de usar para aproveitar a programação de videogames. [Zlib/libpng] Site
- Spring - Um poderoso mecanismo de jogo RTS de plataforma cruzada gratuita. [GPLV2/GPLV3] Site
- TORQUE2D-Um motor C ++ de código aberto e de plataforma cruzada, construída para o desenvolvimento de jogos em 2D. [MIT] Site
- TORQUE3D - Um motor C ++ de código aberto construído para o desenvolvimento de jogos em 3D. [MIT] Site
- Motor de brinquedo - O brinquedo é um mecanismo de jogo C ++ fino e modular e oferece idiomas expressivos simples de C ++ para projetar jogos 2D ou 3D em destaque em iterações rápidas.
- URHO3D - Um mecanismo de jogo 2D e 3D de plataforma transversal e livre livre implementada em C ++. Muito inspirado por Ogre e Horde3D. [MIT]
- Ezengine - é um motor de jogo de código aberto gratuito escrito em C ++. Sua filosofia é ser modular e flexível, de modo que possa ser adaptada a muitos casos de uso diferentes. [MIT] Site
Gráfico
- CXXGRAPH - Biblioteca de cabeçalhos apenas C ++ (17) GRÁTIS para representação e execução de algoritmos. [AGPL-3.0]
- GRAAF - Uma biblioteca de gráficos leve C ++ 20 de uso geral. [MIT] Site
GUI
Interface do usuário gráfico
- Boden - Estrutura de GUI nativa, móvel e de plataforma cruzada. [GPL/LGPL/Proprietário] Site
- CEGUI - Biblioteca GUI flexível e de plataforma cruzada.
- Elementos - Biblioteca GII modular leve, de granulação fina, independente da resolução. [MIT]
- FLTK - Kit de ferramentas C ++ GUI rápido, leve, de plataforma cruzada. [LGPL2]
- Fox Toolkit-um kit de ferramentas de widget de plataforma cruzada e de código aberto. [LGPL]
- GACUI - GPU Acelerou a interface do usuário C ++, com ferramentas de desenvolvimento WYSIWYG, suportes XML, ligação de dados internos e recursos de MVVM. [MS-PL]
- GTK+ - Um kit de ferramentas com várias plataformas para criar interfaces gráficas de usuário. [LGPL]
- GTKMM - A interface C ++ oficial da popular biblioteca GUI GTK+. [LGPL]
- IMGUI - Interface gráfica de usuário imediata com dependências mínimas. [MIT]
- IMPLOT - Widgets de plotagem de modo imediato para imgui. [MIT]
- IUP - kit de ferramentas com várias plataformas para criar interfaces gráficas de usuário. [MIT]
- Libui - biblioteca GUI simples e portátil (mas não inflexível) em C, que usa as tecnologias nativas da GUI de cada plataforma que suporta. [MIT]
- MyGui - GUI rápida, flexível e simples. [MIT]
- Nana - Nana é uma biblioteca de plataformas cruzadas para programação da GUI no estilo moderno de C ++. [Impulsionar]
- Nanogui - Uma biblioteca de widget minimalista de plataforma cruzada para o OpenGL 3.x ou superior. [BSD]
- Nuklear - uma biblioteca ANSI C GUI ANSI. [PublicDomain]
- Widget QCUSTLOT - QT Plotação sem mais dependências. [GPLV3]
- QWT - Widgets QT para aplicações técnicas. [Próprio com base no LGPL]
- QWTPLOT3D-Uma biblioteca de programação C ++ baseada em qt/openGL rica em recursos, fornecendo essencialmente um monte de 3D-Widgets. [Zlib]
- RMLUI - A biblioteca de interface do usuário HTML/CSS evoluiu. Fork de Librocket. [MIT]
- PISO - Uma biblioteca C ++ WebView moderna e cruzada. [MIT]
- Sciter - Sciter é um mecanismo incorporado de HTML/CSS/Script, com o objetivo de ser usado como uma camada de interface do usuário de aplicativos modernos de desktop. [Grátis/comercial]
- Slint - Kit de ferramentas leve GUI para desktop e incorporado. [GPL/Free/Proprietário] Site
- TGUI - GUI C ++ moderna de plataforma cruzada. [Zlib] Site
- Webui - Use qualquer navegador da Web como GUI, com seu idioma preferido no back -end e HTML5 no front -end. [MIT] Site
- WXCHARTS - Uma biblioteca para criar gráficos nos aplicativos WxWidgets. [MIT] Site
- WXWIDGETS - Uma biblioteca C ++ que permite que os desenvolvedores criem aplicativos para Windows, Mac OS X, Linux e outras plataformas com uma única base de código. [Próprio LGPL]
- XTD - Modern C ++ 17/20 Framework para criar console (CLI), formulários (GUI como WinForms) e TUNIT (testes de unidade como Microsoft Unit Testing Framework) em Windows, MacOS, Linux, iOS e Android. [MIT]
- Yue - Uma biblioteca para criar aplicativos GUI de plataforma cruzada nativos. [LGPLV2]
Gráficos
- Assimp - Open Asset Asset Import Library (Assimp) é uma biblioteca de importação de modelo 3D de plataforma cruzada que visa fornecer uma API comum para diferentes formatos de arquivo de ativos 3D. [BSD-3-cláusula] Site
- BGFX - Uma biblioteca de renderização de plataforma cruzada. [BSD]
- Motor gráfico de vetor 2D - mecanismo de gráficos vetoriais alimentado por um compilador JIT. [Zlib] Site
- Cairo - uma biblioteca gráfica 2D com suporte para vários dispositivos de saída. [LGPL2 ou Mozilla MPL]
- C-Turtle-A C ++ 11 Biblioteca de gráficos apenas para o cabeçalho que atua como um invólucro CIMG. [MIT]
- Motor diligente-Uma moderna biblioteca gráfica 3D de plataforma cruzada de baixo nível. [Apache2]
- Directxtk - Uma coleção de classes auxiliares para escrever o código DirectX 11.x em C ++. [MIT]
- GLFW - Uma biblioteca de Wrangling OpenGL simples e cruzada. [Zlib/libpng]
- GLFWPP - Um fino Wrapper, com c ++ moderno 17 para GLFW. [MIT]
- Biblioteca de visualização 3D 3D Harfang utilizável em C ++, Python, Lua e Go. Com base no BGFX. [GPLV3/LGPLV3/PROPRIETÁRIO] Site
- Webbedragons - Uma cena 3D básica implementada com vários motores, estruturas ou APIs. [MIT] Site
- HORDE3D - Um pequeno mecanismo de renderização e animação em 3D. [EPL]
- ION - Um conjunto pequeno e eficiente de bibliotecas para criar aplicativos de clientes ou servidores de plataforma cruzada que usam gráficos 3D. [Apache2] Site
- Irrlicht - Um motor 3D em tempo real de alto desempenho escrito em C ++. [Zlib]
- Libigl - Biblioteca de processamento de geometria C ++ simples. [MPL2]
- LLGL - Biblioteca gráfica de baixo nível (LLGL) é uma fina camada de abstração para as APIs gráficas modernas. [BSD-3-cláusula]
- LUNASVG - Uma biblioteca de renderização SVG independente em C ++. [MIT]
- Magnum - Middleware gráfico de C ++ 11/C ++ 14/C ++ 14 para jogos e visualização de dados. [MIT] Site
- Micro -GL - Realtime, incorporável, apenas gráficos de vetor CPU C ++ 11. Não é necessário LIB, sem FPU e nenhuma GPU. [Personalizado] Site
- Nanovg - Biblioteca de desenho vetorial 2D Antialiase em cima do OpenGL para interface do usuário e visualizações. [Zlib]
- OGRE 3D ⚡-Um mecanismo de renderização 3D flexível e orientado para cena, em tempo real (em oposição a um mecanismo de jogo) escrito em C ++. [MIT] Site
- OpenSceneGraph - um kit de ferramentas de gráficos 3D de alto desempenho de alto desempenho. [OSGPL]
- OpenSubdiv - Biblioteca da Pixar para avaliar e renderizar superfícies de subdivisão na CPU e GPU. [Apache2 modificado]
- OpenVDB - Biblioteca e ferramentas para armazenamento, edição e renderização de conjuntos de dados volumétricos. [MPL2]
- Panda3D - Uma estrutura para renderização 3D e desenvolvimento de jogos para Python e C ++. [BSD]
- Partio - Biblioteca para disputas de dados de partículas, com suporte para os formatos de arquivo mais comuns. [BSD modificado]
- SKIA - Uma biblioteca gráfica 2D completa para desenhar texto, geometrias e imagens. [BSD] Site
- THORVG-Uma biblioteca portátil independente da plataforma que permite desenhar cenas e animações baseadas em vetores, incluindo SVG e Lottie. [MIT] Site
- Tinyspline - Uma biblioteca ANSI C pequena, mas poderosa, para interpolar, transformar e consultar Nurbs arbitrários, splines B e curvas de Bézier. [MIT]
- URHO3D - Renderização de plataforma cruzada e mecanismo de jogo. [Muitos diferentes, principalmente MIT]
- YOCTO/GL-minúsculas bibliotecas C ++ para gráficos fisicamente baseados em dados. [MIT]
Processamento de imagem
- Biblioteca de imagens genéricas boost.gil. [Boost] Site
- Bitmappleplesplus - apenas bitmap c ++ da bitmap c ++. [MIT]
- CIMG - um pequeno kit de ferramentas de código aberto, C ++ para processamento de imagens. [Próprio LGPL ou GPL]
- CIMAGEM - Uma biblioteca de processamento e conversão de imagem para carregar, salvar, exibir, transformar BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K. [Zlib]
- DLIB ⚡ - Um moderno aprendizado de máquina C ++ 11, visão computacional, otimização numérica e kit de ferramentas de aprendizado profundo. [Boost] Site
- FPNG - super rápido C ++ .png Writer/Reader. [UNICENSE]
- FreeImage - Uma biblioteca de código aberto que suporta formatos de imagem gráficos populares e outros, conforme necessário, pelos aplicativos multimídia de hoje. [GPL2 ou GPL3]
- Biblioteca GD - GD Graphics, usada no PHP para carregamento/manipulação de imagens e geração de miniaturas. [Licença permissiva personalizada, requer menção no site do usuário]
- DCMTK - DiCom Toolkit.
- GDCM - Biblioteca Dicom de Grassroots.
- ITK-um sistema de plataforma cruzada de código aberto para análise de imagem. [Apache2 do ITK 4.0]
- [Jpegli] [https://github.com/google/jpegli] - Um codificador JPEG aprimorado e implementação do decodificador. [BSD-3-cláusula]
- Leptonica - Leptonica é uma biblioteca de código aberto que contém software amplamente útil para aplicativos de processamento e análise de imagens. [BSD-2-cláusula] Site
- Libavif - Biblioteca para codificação e decodificação de arquivos .avif. [BSD-2-cláusula]
- LibFacetetection - Biblioteca de código aberto para detecção de rosto em imagens. A velocidade de detecção de face pode atingir 1500fps. [BSD]
- Libjpeg -Turbo - Um codec de imagem JPEG que usa instruções SIMD para acelerar a codificação e decodificação de JPEG da linha de base. [IJG & BSD-3-CLAUSE & ZLIB] Site
- LIBJXL - Implementação de referência de formato de imagem JPEG XL. [BSD-3-cláusula]
- libpng - a biblioteca de referência para uso em aplicativos que leiam, criam e manipulam arquivos de imagem raster de Raster PNG (portátil de rede). [LIBPNG-2.0] Site
- Libspng - Alternativa simples e moderna do libpng. [BSD-2] Site
- LibVips - Uma biblioteca de processamento de imagem rápida com baixas necessidades de memória. [LGPL] Site
- LODEPNG - Codificador PNG e decodificador em C e C ++. [Zlib]
- Magick ++ - Interfaces do programa ImageMagick para C ++. [Apache2]
- Magickwnd - Interfaces do programa ImageMagick para C. [Apache2]
- Mozjpeg - codificador JPEG aprimorado. [BSD/BSD-3-cláusula/Zlib]
- OpenCV ⚡ - Visão computacional de código aberto. [Apache2] Site
- OpenExr - Biblioteca de plataforma cruzada para imagens de alta faixa dinâmica. [BSDF modificado]
- OpenImageio - Biblioteca de imagem e textura poderosa com suporte para um amplo número de formatos comuns com perdas e brutos. [BSD modificado]
- OpenJPEG - Um codec JPEG 2000 de código aberto escrito em C Language. [BSD-2-cláusula]
- Qoi - o “formato de imagem bastante OK” para compactação de imagem rápida e sem perdas. [MIT]
- Sail-Biblioteca de decodificação de imagem de plataforma cruzada fácil de usar com codecs de imagem flugable. [MIT]
- Biblioteca de processamento de imagem SIMD - C ++ com o uso de SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX -512, VMX (Altivec) e VSX (Power7), néon para braço. [MIT]
- STB-RAIGE-Biblioteca de carregamento de imagem de cabeça única STB. [Domínio público]
- TESSERACT -OOC - um motor OCR. [Apache2]
- Tinydng - Pinúsculo DNG/TIFF, somente de cabeçalho, carregador e escritor em C ++. [MIT]
- TinyExif - minúsculo C ++ compatível com a biblioteca de análise XMP para JPEG. [MIT]
- Tinytiff - Biblioteca Lightweight Tiff Reader/Writer. [GPL-3.0]
- Video ++ - A C ++ 14 Biblioteca de processamento de vídeo e imagem de alto desempenho. [MIT]
- Vigra - Uma biblioteca genérica de visão computacional C ++ para análise de imagem. [MIT x11]
- VTK - Sistema de software de código aberto e disponível gratuitamente para gráficos de computador 3D, processamento de imagens e visualização. [BSD]
Internacionalização
- getText - GNU 'getText'. [GPL2]
- IBM UTI - um conjunto de bibliotecas C/C ++ e Java que fornecem suporte unicode e globalização. [UTI]
- libiconv - uma biblioteca de conversão de codificação entre diferentes codificações de caracteres. [GPL]
- SIMDUTF - UNICODE ROTINAS (UTF8, UTF16, UTF32): bilhões de caracteres por segundo usando SSE2, AVX2, NEON, AVX -512. [Apache-2/MIT]
- Uni -Algo - Algoritmos Unicode Implementação para C/C ++. [Unlicense ou MIT]
- UTF8.H - Funções de String UTF8 de cabeçalho único para C e C ++. [UNICENSE]
- UTF8PROC - Uma biblioteca C limpa para processar dados UTF -8 Unicode. [MIT]
Comunicação entre processos
- Apache Thrift - IPC/RPC eficiente em linguagem cruzada, trabalha entre C ++, Java, Python, Php, C#e muitos outros idiomas. Originalmente desenvolvido pelo Facebook. [Apache2]
- BOOST.INTERPROCESS-Biblioteca de Boost somente para cabeçalho que suporta arquivos compartilhados de memória e memória compartilhados no nível do kernel, com mecanismos de sincronização embutidos (semáforos, mutexes e muito mais). [Boost] Site
- BRPC - BRPC é uma estrutura de RPC de nível industrial usando a linguagem C ++, que é frequentemente usada em sistema de alto desempenho, como pesquisa, armazenamento, aprendizado de máquina, anúncio, recomendação etc. [Apache2] site
- Cap'n Proto - Formato rápido de intercâmbio de dados e sistema RPC baseado em capacidade. [MIT] Site
- ECAL - pub/sub, cliente/servidor, c ++/python/c#, vários protocolos de mensagens (Protobuf, capnproto ..). [Apache2] Site
- GRPC - Uma estrutura RPC de alto desempenho, código aberto e de uso geral. [BSD] Site
- ICE - Framework RPC abrangente com suporte para C ++, C#, Java, JavaScript, Python e muito mais. [GPLV2]
- ICEORYX-Estrutura de comunicação entre processos de cópia zero verdadeira para sistemas críticos de segurança com ligações para C, ferrugem. Executa no Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] Site
- LIBJSON-RPC-CPP-Estrutura JSON-RPC para servidores e clientes C ++. [MIT]
- Nanomsg - Uma implementação simples de alto desempenho de vários "protocolos de escalabilidade". [MIT] Site
- NNG-Nanomsg-Next Geração, uma biblioteca de mensagens sem corretores leves. [MIT] Site
- RPCLIB - Um servidor MSGPACK -RPC moderno C ++ e biblioteca de clientes. [MIT]
- Simple-RPC-CPP-Um gerador de wrapper RPC simples para funções C/C ++. [BSD]
- SRPC - Um sistema RPC leve que suporta vários protocolos e opentelemetria. [Apache2]
- WAMP - fornece padrões de RPC e pub/sub -mensagens. (várias implementações, vários idiomas)
- XMLRPC -C - Uma biblioteca RPC leve baseada em XML e HTTP. [BSD]
JSON
- Boost.PropertyTree - Um analisador/gerador de árvores de propriedade que pode ser usado para analisar arquivos XML/JSON/INI/INFO. [Boost] Site
- CJSON - A Parsers JSON Ultralightweight em Ansi C. [MIT]
- DAW JSON LINK - Setialização e análise JSON rápida e conveniente em C ++. [BSL-1.0]
- Frozen - analisador JSON e gerador para C/C ++. [GPL & GPL2]
- GLAZE - Extremamente rápido, em memória, JSON e biblioteca de interface para C ++ moderno. [MIT]
- Jansson - biblioteca C para codificação, decodificação e manipulação de dados JSON. [MIT]
- JBSON - JBSON é uma biblioteca de dados de construção e iteragem do BSON, e os documentos JSON no C ++ 14. [Impulsionar]
- Jeayeson - Uma biblioteca C ++ JSON muito sã (apenas cabeçalho). [BSD]
- JSMN - Um analisador JSON minimalista em C. [MIT]
- JSON ⚡ - JSON para C ++ moderno. [MIT] Site
- JSON ++ - Um analisador JSON em C ++. [MIT]
- JSON.CPP - Uma biblioteca barroca JSON Parsing / Serialization para C ++. [Apache-2.0]
- JSON.H - Uma solução simples de cabeçalho/One para analisar o JSON em C e C ++. [UNICENSE]
- JSON-BUILD-C89 Tiny Zero-Allocation JSON Serializer. [MIT]
- JSON -C - Uma implementação JSON em C. [MIT]
- JSONCONS-Uma biblioteca de cabeçalho C ++ apenas para formatos binários JSON e JSON, com Jsonpointer, Jsonpatch, Jsonpath e JMespath. [Impulsionar]
- JSONCPP - Uma biblioteca C ++ para interagir com o JSON. [MIT]
- Jsonifier - algumas classes para analisar e serializar objetos de/para JSON - muito rapidamente. [MIT]
- JSONPARSE - Um analisador JSON simples em Ansi C. [MIT]
- JSON -PARSER - Analisador JSON de pegada muito baixa escrita em portátil Ansi C. [BSD]
- JSON11 - Uma pequena biblioteca JSON para C ++ 11. [MIT]
- JSON -S -STRUCT - alto desempenho, cacejamento único JSON Parser analisando de e para as estruturas C ++. [MIT]
- JSON -Voorhees - Biblioteca JSON para C ++. Suporte para C ++ 11. Sem dependências, rápida e amigável. [Apache2]
- JSON TOOLKIT - JSON, JSON POINTER, JSON Schema e Jsonl Library para C ++ 20. [AGPL/Comercial]
- Juta - analisador JSON C ++ muito simples. [PublicDomain]
- Libjson - um analisador JSON e biblioteca de impressoras em C. fácil de integrar a qualquer modelo. [LGPL]
- Libjson - Biblioteca Lightweight JSON. [?]
- LIBUCL ⚡ - Analisador da Biblioteca de Configuração Universal. [BSD-2-cláusula]
- Parson - Parson é uma biblioteca JSON do Learnweight escrita em C. [MIT]
- Picojson-um serializador de analisador JSON, somente para cabelos, em C ++. [BSD]
- QT -JSON - Uma classe simples para analisar dados JSON em uma hierarquia QVariant e vice -versa. [GPLV3]
- QJSON - Uma biblioteca baseada em QT que mapeia dados JSON para objetos QVariant. [LGPL2]
- Rapidjson ⚡ - Um analisador/gerador JSON rápido para C ++ com ambas as API de estilo Sax/DOM. [MIT] Site
- SAJSON - Analisador json leve e extremamente de alto desempenho para C ++ 11. [MIT]
- Simdjson - Biblioteca JSON extremamente rápida que pode analisar os gigabytes do JSON por segundo. [Apache-2.0]
- SONIC -CPP - Uma biblioteca rápida de serializando e desserializador, acelerada por Simd. [Apache-2.0]
- TAOJSON-Biblioteca JSON somente para cabeçalho C ++ de dependência zero. [MIT]
- UJSON - µJSON é AA Small, C ++ 11, UTF -8, JSON Library. [MIT]
- Ultrajson-Decodificador JSON Ultra Fast e codificador escrito em C. [BSD-3-Clasuse]
- Yajl - uma biblioteca de análise JSON de streaming rápido em C. [ISC]
- YYJSON - Uma biblioteca JSON de alto desempenho escrita em Ansi C. [MIT]
Registro
- Blackhole - estrutura de registro baseada em atributos, projetada para ser rápida, modular e altamente personalizável. [MIT]
- Boost.log - projetado para ser muito modular e extensível. [Boost] Site
- BQLOG - Um sistema de extração leve e de alto desempenho usado em projetos como "Honra dos Reis". [Apache-2.0]
- EasyLogging ++ - Biblioteca de log de alto desempenho extremamente leve para aplicações C ++ 11 (ou superior). [MIT]
- FMTLOG - Uma biblioteca de registro no estilo FMTLIB do desempenho com latência em nanossegundos. [MIT]
- G3Log - Logger assíncrono com pia dinâmica. [PublicDomain]
- GLOG - C ++ Implementação do módulo de log do Google.
- HACLOG - Uma biblioteca de registro C simples e extremamente rápida. [MIT]
- LOG4CPP - Uma biblioteca de classes C ++ para registro flexível para arquivos, syslog, IDSA e outros destinos. [LGPL]
- log4cplus - uma API de log de C ++ simples de usar, fornecendo threads segura, fl