4 points par baeba 6 시간 전 | 2 commentaires | Partager sur WhatsApp

1. Objectif du document

Cet article est une liste de bibliothèques open source classées par domaine, afin d’aider les développeurs C++ à trouver rapidement les fonctionnalités dont ils ont besoin.
Les bibliothèques doivent pouvoir être téléchargées sous forme de code source, et les informations pouvant être obsolètes ou les liens incorrects, les utilisateurs doivent les vérifier eux-mêmes.

2. Généralistes, communication et GUI

Boost, Folly, Dlib, JUCE, entre autres, sont des bibliothèques généralistes offrant de nombreuses fonctionnalités.
Dans le domaine de la communication, on trouve Boost.Asio, POCO, ZeroMQ, Thrift, REST SDK, etc., utilisés pour le développement réseau, HTTP, de messagerie et de services distribués.
Côté GUI, la liste inclut Qt, GTKmm, wxWidgets, FLTK, entre autres.

3. Graphisme, multimédia et jeux

SDL, SFML et OpenFrameworks sont utilisés pour les applications multimédias.
OpenGL, Ogre3D, bgfx, GLFW, GLM, Assimp, etc. prennent en charge le graphisme 2D/3D, le rendu et le traitement de modèles.
OpenCV sert au traitement d’images, tandis que VLC et la famille GStreamer sont utilisés pour la lecture vidéo et le traitement multimédia.

4. Mathématiques, IA et calcul haute performance

Eigen, Armadillo et Boost.uBLAS sont utilisés pour les calculs d’algèbre linéaire.
Dlib, MLPACK, Shogun et liblinear fournissent des fonctionnalités de machine learning.
Les bibliothèques liées à TBB, OpenMP, CUDA et OpenCL prennent en charge le traitement parallèle et le calcul haute performance.

5. Traitement et stockage des données

La famille Boost.Container fournit diverses structures de données.
protobuf, cereal, yaml-cpp, etc. sont utilisés pour la sérialisation d’objets, tandis que RapidJSON, jsoncpp, TinyXML, entre autres, prennent en charge le traitement JSON et XML.
ODB, SOCI, sqlpp11, mysql++, etc. fournissent des fonctionnalités de connexion aux bases de données et d’ORM.

6. Outils d’aide au développement

Google Test, Catch et Boost.Test sont utilisés pour les tests unitaires, tandis que Celero prend en charge le benchmarking de performances.
OpenSSL, Crypto++ et Botan fournissent des fonctionnalités de chiffrement.
spdlog, Log4cpp et plog sont des bibliothèques C++ représentatives pour la journalisation.

7. Autres domaines

La liste comprend également des bibliothèques dans divers domaines, comme l’internationalisation, les calculs financiers, l’embarqué, les systèmes temps réel, le PDF, la recherche, la gestion de configuration ou l’intégration de langages de script.
Dans l’ensemble, ce document est une liste de référence pour explorer les bibliothèques par fonctionnalité nécessaires aux projets C++.

2 commentaires

 
t7vonn 1 시간 전

La version coréenne ayant été mise à jour pour la dernière fois en 2016, il vaut sans doute mieux consulter l’original

 
dieafterwork 1 시간 전

Ah, je venais d’apprendre grâce à cet article qu’il existait peut-être un site coréen de cppreference, et j’étais ravi…
Je vais donc continuer à utiliser le site en anglais comme avant.