2010-11-30 7 views
5

Doublons possibles:
Container Class/Library for C
Is there a good collection library for C-language?N'importe quelle bibliothèque comme STL (vector, map ...) dans C?

En C++, vous disposez d'un très utile Standard Template Library (STL) qui a des structures comme vecteur, carte, mis ...

Si j'utilise le langage C, existe-t-il des bibliothèques offrant des structures/fonctions similaires?

Merci!

+1

Plusieurs fois dupliquées. http://stackoverflow.com/questions/2956387/is-there-a-good-collection-library-for-c-language http://stackoverflow.com/questions/1588385/good-collection-of-libraries-for -c http://stackoverflow.com/questions/305611/container-class-library-for-c – dmckee

Répondre

14

glib est une excellente bibliothèque avec de nombreuses structures de données et des fonctions utiles. Il est largement utilisé dans la boîte à outils du widget GTK +.

GLib fournit des structures de données avancées, telles que des morceaux de mémoire, des listes liaisons doubles et des liaisons simples, liés, des tables de hachage, les chaînes dynamiques et des utilitaires de chaîne, tels qu'un scanner lexical, des morceaux de chaîne (groupes de chaînes), des tableaux dynamiques , des arbres binaires équilibrés, des arbres N-ary, des quarks (une association bidirectionnelle d'une chaîne et un identifiant entier unique), des listes de données, des relations et des tuples. Les caches fournissent la gestion de la mémoire. GLib implémente des fonctions qui fournissent des threads, la programmation de threads et des fonctionnalités connexes telles que l'accès aux variables primitives, les mutex, les files d'attente asynchrones, les pools de mémoire sécurisés, le passage et la journalisation des messages. Également des facilités de passage de message telles que la conversion d'ordre d'octet et les canaux d'E/S.

Certaines autres caractéristiques de GLib comprennent:

  • macros standard
  • avertissements et assertions
  • chargement dynamique des modules
  • un système de type, GType
  • un système objet, GObject

http://library.gnome.org/devel/glib/

+4

Ugh, glib ... * frissonne * – weberc2