Namespaces
Variants

A list of open source C libraries

From cppreference.net
< c ‎ | links

El objetivo de esta página es construir una lista exhaustiva de bibliotecas C de código abierto, de modo que cuando alguien necesite una implementación de una funcionalidad particular, no tenga que perder tiempo buscando en la web ( DuckDuckGo , Google , Bing , etc.)

Si conoces una biblioteca que pueda ser útil para otros, por favor añade un enlace aquí. No hay restricciones sobre lo que se puede incluir excepto que el código fuente de la biblioteca debe estar fácilmente disponible para descargar.

La página se proporciona "tal cual" - con la esperanza de ser útil, pero sin ninguna garantía. Pueden aparecer aquí enlaces desactualizados, engañosos o incorrectos. Si has notado alguno de estos, sería genial si corrigieras el error.

Contenidos

Gestores de paquetes

Gestor de paquetes Descripción
build2 Una cadena de herramientas de compilación multiplataforma y de código abierto (MIT) que busca aproximar la conveniencia de Rust Cargo para desarrollar y empaquetar proyectos C/C++, proporcionando mayor profundidad y flexibilidad, especialmente en el sistema de compilación.
cget Obtención de paquetes Cmake. Puede utilizarse para descargar e instalar paquetes cmake.
cmodule Gestión de dependencias cmake no intrusiva.
conan Gestor de paquetes C/C++ descentralizado y de código abierto (MIT).
CPM.cmake Un script cmake que añade capacidades de gestión de dependencias a cmake. Está construido como una capa delgada alrededor del módulo FetchContent de cmake que añade control de versiones, caché, una API simple y más.
hunter Un gestor de paquetes multiplataforma basado en cmake para proyectos C/C++.
spack Un gestor de paquetes para supercomputadoras, Linux y macOS. Facilita la instalación de software científico. No está vinculado a un lenguaje particular.
teaport Un gestor de dependencias inspirado en cocoapods.
vcpkg Un gestor de paquetes C/C++ para Windows, Linux y macOS.
xmake Una herramienta de compilación y gestor de paquetes C/C++ multiplataforma basado en Lua.

Bibliotecas

Sistema operativo

Control de acceso
Biblioteca Descripción Licencia Configuración
acl
apparmor
Atributos extendidos
Biblioteca Descripción Licencia Configuración
attr

Interfaz gráfica de usuario

Biblioteca Descripción Licencia Configuración
IUP
Nuklear Una biblioteca GUI multiplataforma en modo inmediato ANSI C de un solo encabezado. ( Doc )
lvgl Biblioteca GUI embebida potente y fácil de usar con muchos widgets, efectos visuales avanzados (opacidad, anti-aliasing, animaciones) y bajos requisitos de memoria (16K RAM, 64K Flash). ( Doc )
tiny file dialogs Un único archivo C multiplataforma (sin init, sin bucle principal, 6 llamadas de función modales)

Widgets de Gtk+

Biblioteca Descripción Licencia Configuración
appmenu-gtk
ghex
goocanvas
gtkhotkey
gtk+
gtksourceview
gtkspell
gucharmap
webkitgtk

Microsoft Excel

Biblioteca Descripción Licencia Configuración
libxlsxwriter
xlsx_drone

Audio

CD
Biblioteca Descripción Licencia Configuración
cdparanoia
Códecs
Biblioteca Descripción Licencia Configuración
aften
faad2
wavpack
Infraestructura
Biblioteca Descripción Licencia Configuración
alsa-lib
portaudio
Síntesis de voz
Biblioteca Descripción Licencia Configuración
espeak
flite

Video

Códecs
Biblioteca Descripción Licencia Configuración
schroedinger
video4linux

Archivos

Biblioteca Descripción Licencia Configuración
gmime

Matemáticas

Biblioteca Descripción Licencia Configuración
gsl The GNU Scientific Library (GSL) es una biblioteca numérica para C y C++ ( Src ) GPL make
Interpolación Multidimensional de Enteros
Biblioteca Descripción Licencia Configuración
argyll
Álgebra lineal
Biblioteca Descripción Licencia Configuración
atlas
blas
eigen
Finanzas
Biblioteca Descripción Licencia Configuración
ta-lib
FFT
Biblioteca Descripción Licencia Configuración
fftw3
Multiprecision
Biblioteca Descripción Licencia Configuración
gmp
Procesamiento de Señales
Biblioteca Descripción Licencia Configuración
liquid-dsp
vsipl
vsipl++

Gráficos

Biblioteca Descripción Licencia Configuración
allegro Allegro-5 es una biblioteca multimedia multiplataforma dirigida principalmente a programación de videojuegos y multimedia.
babl
Bgfx Una biblioteca de renderizado multiplataforma, independiente de API de gráficos, estilo "Bring Your Own Engine/Framework". BSD 2
cairo
raylib Una biblioteca de desarrollo de juegos C99 multiplataforma con aceleración por hardware OpenGL, soporte completo 3D, animación esquelética, shaders, fuentes, audio, matemáticas, GUI, etc. ( Src ) ( Doc ) Zlib cmake, make, vcpkg, zig
SAIL S quirrel A bstract I mage L ibrary es una biblioteca pequeña, rápida y multiplataforma para decodificación de imágenes.
SDL S imple D irectMedia L ayer es una biblioteca multiplataforma para entrada, audio, dibujo y mucho más.
SIGIL
Simple2d Un wrapper pequeño, simple y multiplataforma de SDL2/OpenGL que proporciona capacidades de dibujo, medios, ventanas y entrada. MIT

Genérico

Biblioteca Descripción Licencia Configuración
libmixf

Interproceso

Biblioteca Descripción Licencia Configuración
dbus
dee
gdbus

Bases de Datos

Biblioteca Descripción Licencia Configuración
berkeley_db
libfmrt
libmongoc Biblioteca controladora oficial en C para MongoDB ( Doc ). Ofrece APIs optimizadas para operaciones CRUD, soporte integral de características (incluyendo BSON ) y soporte para diferentes mecanismos de autenticación, permitiendo la integración eficiente de funcionalidades de MongoDB en aplicaciones basadas en C. Apache 2.0 CMake
lmdb
SQLite Una biblioteca en C que implementa un motor de base de datos SQL pequeño, rápido, autónomo, de alta confiabilidad y con todas las características. SQLite es el motor de base de datos más utilizado en el mundo. ( Src ) ( Doc ) Dominio Público

Configuración

Biblioteca Descripción Licencia Configuración
libconfig
libconfini

Entorno

Biblioteca Descripción Licencia Configuración
libXDGdirs

Comunicaciones

Biblioteca Descripción Licencia Configuración
gsoap
KCP Un protocolo ARQ rápido y confiable que ayuda a las aplicaciones a reducir la latencia de red. MIT
libcurl
libmicrohttpd
libsagui
MQTT-C URL de Github MIT
nanomsg Una biblioteca de sockets que proporciona patrones de comunicación comunes; no tiene dependencias; multiplataforma. Sustituida por nng . MIT/X11
UCX Unified Communication X (UCX) proporciona una capa de comunicación optimizada para aplicaciones de Message Passing (MPI), Shared Memory (PGAS) y RPC/data-centric. BSD3
zeromq
libusb Una biblioteca portable en C que proporciona acceso genérico a dispositivos USB.

Compresión

Biblioteca Descripción Licencia Configuración
bzip2
lz4
zlib

Concurrencia

Biblioteca Descripción Licencia Configuración
ck
MutexGear Sincronización solo con mutex (rueda, rwlock, colas de trabajo). The MutexGear Library

Tipos de datos

Biblioteca Descripción Licencia Configuración
bstrlib
datastd
str Otra biblioteca de cadenas para el lenguaje C.

PDF

Biblioteca Descripción Licencia Configuración
PDFio Una biblioteca simple en C para leer y escribir archivos PDF. Apache-2.0 make

XML

Biblioteca Descripción Licencia Configuración
expat
gsoap

Métricas

Biblioteca Descripción Licencia Configuración
edlib

Programación orientada a objetos

Biblioteca Descripción Licencia Configuración
Cello
GObject

Interfaz Web

Biblioteca Descripción Licencia Configuración
cgit

Depuración

Biblioteca Descripción Licencia Configuración
dbg-macro Algunas macros que imprimen y devuelven el valor de una expresión dada para depuración rápida y sencilla, inspiradas en la macro dbg ! ( ... ) de Rust y su variante en C++. MIT

Véase también

Documentación de C++ para Bibliotecas no estándar (Non-ANSI/ISO Libraries)

Enlaces externos

1. Una lista de frameworks de pruebas unitarias para C — en Wikipedia
2. Una lista curada de librerías (impresionantes) de C y C++ — en GitHub
3. Una lista de juegos y frameworks de código abierto en C — en GitHub.io