una sirve que programacion principales para lista librerias libreria lenguaje funciones ejemplos crear clases bibliotecas c data-structures

sirve - Necesita una biblioteca de propósito general, C puro



principales librerias en lenguaje c (9)

¿Podría recomendar una buena biblioteca de contenedor de datos de propósito general para C (C puro, no C ++)? Solo necesito estructuras básicas, como matrices dinámicas, tablas hash, etc.

(Nota: por "bueno" me refiero a la interfaz rápida + elegante).



Anteriormente recomendé MemSL , pero el sitio web y la empresa parecen haberse extinguido. Ahora sugeriría glib , cubre gran parte de la misma funcionalidad y es ampliamente compatible y utilizado en toda la comunidad Linux.

Usé MemSL cuando implementé un kernel x86, y encontré que es general, confiable y libre de errores.

De la descripción: C Descripción general de la Biblioteca de estructuras de memoria (MemSL)

La Biblioteca de Estructuras de Memoria, MemSL para abreviar, es una biblioteca de rutinas útiles que permiten el uso eficiente de estructuras de datos complejas en C. El MemSL contiene rutinas para administrar:

  • Matrices asignadas dinámicamente multidimensionales
  • Listas enlazadas individuales
  • Listas dobles enlazadas
  • Listas circulares enlazadas
  • Cortar, copiar y pegar con listas vinculadas
  • Punteros posicionales múltiples a listas vinculadas
  • Stacks
  • Colas
  • Dequeues
  • Conjuntos
  • Pantalón
  • Mesas
  • Diccionarios
  • Tablas hash con encadenamiento separado
  • Tablas hash con paginación definida por el usuario
  • Tablas hash con paginación dinámica
  • Árboles de búsqueda binaria
  • Árboles de búsqueda binaria roscados
  • AVL Balanced Binary Search Trees
  • AVL Balanced Threaded Binary Search Trees
  • Montones de prioridad
  • Colas de búsqueda con prioridad completamente dinámica

Apache Portable Runtime

http://apr.apache.org/

Incluye módulos para estas áreas.

  • Definiciones de plataforma
  • Asignación de memoria interna
  • Operaciones Atómicas
  • Manejo dinámico de objetos
  • Funciones para manipular el entorno
  • Códigos de error
  • Informacion del archivo
  • Funciones de manejo de E / S de archivos
  • Funciones de coincidencia de nombre de archivo
  • Rutinas de biblioteca misceláneas
  • Análisis de argumento de comando
  • Rutinas de bloqueo global
  • Tablas Hash
  • Rutinas de biblioteca de propósito general
  • Rutinas de MMAP (Mapa de memoria)
  • Rutinas de red
  • Rutinas de encuesta
  • Funciones de grupo de memoria
  • Rutinas de portabilidad
  • Rutinas de bloqueo de procesos
  • Funciones aleatorias
  • Implementaciones de macro anillo
  • Rutinas de memoria compartida
  • Manejo de señal
  • Rutinas de cadena
  • Funciones internas de APR
  • Funciones de tabla y matriz
  • Rutinas variables de condición
  • Subprocesos Mutex Rutinas
  • Hilos y funciones de proceso
  • Rutinas de bloqueo de lector / escritor
  • Rutinas de tiempo
  • Servicios de identificación de usuario y grupo

Creo que las interfaces C y las implementaciones de Dave Hanson califican como rápidas y elegantes. Incluye muchos tipos diferentes de contenedores, algunos procesos de cadenas, aritmética de multiprecision, excepciones, un par de administradores de memoria diferentes. Lindas cosas.

Hay un libro, pero no necesita comprarlo para usar el software.



Puede interesarle ver qLibc.

http://en.wikipedia.org/wiki/Qlibc http://www.qdecoder.org/qlibc/

Es una biblioteca C / C ++ de propósito general que incluye todo tipo de contenedores y rutinas generales de biblioteca.


También puede consultar el iMatix SFL , para citar su página web:

La SFL (biblioteca de funciones estándar) de iMatix es una biblioteca de funciones portátil para programas C / C ++. El SFL es el resultado de muchos años de desarrollo y se proporciona como software de código abierto para el beneficio de la comunidad de Internet. El SFL está escrito en ANSI C y ha sido portado a MS-DOS, Windows, OS / 2, Linux y otros sistemas UNIX (IBM AIX, SunOS, HP / UX, Solaris, NetBSD, FreeBSD, SCO OpenServer,> Digital UNIX) y Digital OpenVMS. Viene con fuentes completas y documentación en HTML.

El SFL proporciona alrededor de 450 funciones que cubren estas áreas:

  • Compresión, cifrado y codificación;
  • Conversión y formato de tipo de datos;
  • Fechas, horarios y calendarios;
  • Directorio y acceso al entorno;
  • Grupos de usuarios y procesos;
  • Índices de mapa de bits invertidos;
  • Tablas de símbolos;
  • Archivos de mensajes de error;
  • Archivos de configuración;
  • Manipulación de cadenas y búsqueda;
  • Acceso a archivos;
  • Acceso a internet;
  • Programación de Internet (MIME, CGI);
  • Acceso SMTP (correo electrónico);
  • Programación del servidor (por lotes);
  • Seguimiento del programa

El SFL es un software gratuito que puede usar y distribuir para fines privados o comerciales de conformidad con el Acuerdo de licencia de SFL .

Más detalles sobre la API en sí, mira here .


Sglib "es una biblioteca genérica para C inspirada en la biblioteca de plantillas estándar de C ++"