Namespaces
Variants

A list of open source C libraries

From cppreference.net
< c ‎ | links

L'objectif de cette page est de constituer une liste exhaustive de bibliothèques C open-source, afin que lorsqu'on a besoin d'une implémentation d'une fonctionnalité particulière, on ne perde pas de temps à chercher sur le web ( DuckDuckGo , Google , Bing , etc.)

Si vous connaissez une bibliothèque qui pourrait être utile à d'autres, veuillez ajouter un lien vers celle-ci ici. Il n'y a aucune restriction sur ce qui peut être inclus, sauf que les sources de la bibliothèque doivent être facilement disponibles au téléchargement.

Cette page est fournie "telle quelle" - avec l'espoir d'être utile, mais sans aucune garantie. Des liens obsolètes, trompeurs ou erronés peuvent apparaître ici. Si vous en avez remarqué un, ce serait formidable que vous corrigiez l'erreur.

Table des matières

Gestionnaires de paquets

Gestionnaire de paquets Description
build2 Une chaîne d'outils de construction open-source (MIT) et multiplateforme qui vise à approcher la commodité de Rust Cargo pour le développement et l'empaquetage de projets C/C++ tout en offrant plus de profondeur et de flexibilité, particulièrement dans le système de construction.
cget Récupération de paquets CMake. Peut être utilisé pour télécharger et installer des paquets CMake.
cmodule Gestion de dépendances CMake non intrusive.
conan Gestionnaire de paquets C/C++ décentralisé et open-source (MIT).
CPM.cmake Un script CMake qui ajoute des capacités de gestion de dépendances à CMake. Il est construit comme une fine enveloppe autour du module FetchContent de CMake qui ajoute le contrôle de version, la mise en cache, une API simple et plus encore.
hunter Un gestionnaire de paquets multiplateforme piloté par CMake pour les projets C/C++.
spack Un gestionnaire de paquets pour supercalculateurs, Linux et macOS. Il facilite l'installation de logiciels scientifiques. Il n'est pas lié à un langage particulier.
teaport Un gestionnaire de dépendances inspiré de CocoaPods.
vcpkg Un gestionnaire de paquets C/C++ pour Windows, Linux et macOS.
xmake Un outil de construction et gestionnaire de paquets C/C++ multiplateforme basé sur Lua.

Bibliothèques

Système d'exploitation

Contrôle d'accès
Bibliothèque Description Licence Configuration
acl
apparmor
Attributs étendus
Bibliothèque Description Licence Configuration
attr

Interface utilisateur graphique

Bibliothèque Description Licence Configuration
IUP
Nuklear Une bibliothèque GUI multiplateforme en mode immédiat ANSI C à en-tête unique. ( Doc )
lvgl Bibliothèque GUI embarquée puissante et facile à utiliser avec de nombreux widgets, effets visuels avancés (opacité, anti-crénelage, animations) et faibles exigences mémoire (16K RAM, 64K Flash). ( Doc )
tiny file dialogs Une seule fonction C multiplateforme pour les boîtes de dialogue de fichiers (pas d'initialisation, pas de boucle principale, 6 appels de fonctions modales)

Widgets Gtk+

Bibliothèque Description Licence Configuration
appmenu-gtk
ghex
goocanvas
gtkhotkey
gtk+
gtksourceview
gtkspell
gucharmap
webkitgtk

Microsoft Excel

Bibliothèque Description Licence Configuration
libxlsxwriter
xlsx_drone

Audio

CD
Bibliothèque Description Licence Configuration
cdparanoia
Codecs
Bibliothèque Description Licence Configuration
aften
faad2
wavpack
Infrastructure
Bibliothèque Description Licence Configuration
alsa-lib
portaudio
Synthèse vocale
Bibliothèque Description Licence Configuration
espeak
flite

Vidéo

Codecs
Bibliothèque Description Licence Configuration
schroedinger
video4linux

Fichiers

Bibliothèque Description Licence Configuration
gmime

Mathématiques

Bibliothèque Description Licence Configuration
gsl La GNU Scientific Library (GSL) est une bibliothèque numérique pour C et C++ ( Src ) GPL make
Interpolation Multidimensionnelle d'Entiers
Bibliothèque Description Licence Configuration
argyll
Algèbre linéaire
Bibliothèque Description Licence Configuration
atlas
blas
eigen
Finance
Bibliothèque Description Licence Configuration
ta-lib
FFT
Bibliothèque Description Licence Configuration
fftw3
Multiprécision
Bibliothèque Description Licence Configuration
gmp
Traitement du Signal
Bibliothèque Description Licence Configuration
liquid-dsp
vsipl
vsipl++

Graphiques

Bibliothèque Description Licence Configuration
allegro Allegro-5 est une bibliothèque multimédia multiplateforme principalement destinée à la programmation de jeux vidéo et multimédia.
babl
Bgfx Une bibliothèque de rendu multiplateforme, indépendante de l'API graphique, de style "Apportez Votre Moteur/Cadre". BSD 2
cairo
raylib Une bibliothèque de développement de jeux C99 multiplateforme offrant l'accélération matérielle OpenGL, la prise en charge complète de la 3D, l'animation squelettique, les shaders, les polices, l'audio, les mathématiques, l'interface graphique, etc. ( Src ) ( Doc ) Zlib cmake, make, vcpkg, zig
SAIL S quirrel A bstract I mage L ibrary est une petite bibliothèque de décodage d'images rapide et multiplateforme.
SDL S imple D irectMedia L ayer est une bibliothèque multiplateforme pour l'entrée, l'audio, le dessin et bien plus encore.
SIGIL
Simple2d Un wrapper SDL2/OpenGL petit, simple et multiplateforme qui fournit des capacités de dessin, de média, de fenêtrage et d'entrée. MIT

Générique

Bibliothèque Description Licence Configuration
libmixf

Interprocess

Bibliothèque Description Licence Configuration
dbus
dee
gdbus

Bases de données

Bibliothèque Description Licence Configuration
berkeley_db
libfmrt
libmongoc Bibliothèque de pilote C officielle pour MongoDB ( Doc ). Elle propose des API optimisées pour les opérations CRUD, une prise en charge complète des fonctionnalités (incluant BSON ) et le support de différents mécanismes d'authentification permettant une intégration efficace des fonctionnalités MongoDB dans les applications basées sur C. Apache 2.0 CMake
lmdb
SQLite Une bibliothèque C qui implémente un moteur de base de données SQL compact, rapide, autonome, très fiable et complet. SQLite est le moteur de base de données le plus utilisé au monde. ( Src ) ( Doc ) Domaine Public

Configuration

Bibliothèque Description Licence Configuration
libconfig
libconfini

Environnement

Bibliothèque Description Licence Configuration
libXDGdirs

Communications

Bibliothèque Description Licence Configuration
gsoap
KCP Un protocole ARQ rapide et fiable qui aide les applications à réduire la latence réseau. MIT
libcurl
libmicrohttpd
libsagui
MQTT-C URL Github MIT
nanomsg Une bibliothèque de sockets qui fournit des modèles de communication courants ; sans dépendances ; multiplateforme. Remplacée par nng . MIT/X11
UCX Unified Communication X (UCX) fournit une couche de communication optimisée pour le passage de messages (MPI), la mémoire partagée (PGAS) et les applications RPC/centrées sur les données. BSD3
zeromq
libusb Une bibliothèque C portable qui fournit un accès générique aux périphériques USB.

Compression

Bibliothèque Description Licence Configuration
bzip2
lz4
zlib

Concurrence

Bibliothèque Description Licence Configuration
ck
MutexGear Synchronisation par mutex uniquement (roue, verrou lecture-écriture, files d'attente de travail). La Bibliothèque MutexGear

Types de données

Bibliothèque Description Licence Configuration
bstrlib
datastd
str Encore une autre bibliothèque de chaînes pour le langage C.

PDF

Bibliothèque Description Licence Configuration
PDFio Une bibliothèque C simple pour lire et écrire des fichiers PDF. Apache-2.0 make

XML

Bibliothèque Description Licence Configuration
expat
gsoap

Métriques

Bibliothèque Description Licence Configuration
edlib

Programmation orientée objet

Bibliothèque Description Licence Configuration
Cello
GObject

Interface Web

Bibliothèque Description Licence Configuration
cgit

Débogage

Bibliothèque Description Licence Configuration
dbg-macro Quelques macros qui affichent et retournent la valeur d'une expression donnée pour un débogage rapide et sommaire, inspirées par la macro dbg ! ( ... ) de Rust et sa variante C++. MIT

Voir aussi

Documentation C++ pour Bibliothèques non-ANSI/ISO

Liens externes

1. Une liste de frameworks de tests unitaires pour C — sur Wikipédia
2. Une liste organisée de bibliothèques (exceptionnelles) C et C++ — sur GitHub
3. Une liste de jeux et frameworks open-source en C — sur GitHub.io