2010-09-02 11 views
6

Quelles sont les bibliothèques communes les plus courantes car Boost est en C++ mais pour C? Il devrait s'agir d'une bibliothèque multiplateforme et inclure des collections telles que des arbres, des listes de liens, des files d'attente, etc ... Quels sont les avantages/inconvénients de ces bibliothèques?C: Frameworks/Bibliothèques communes

Répondre

8

glib est assez agréable parce que:

  • généreusement sous licence (LGPL)
  • de développement constant
  • tonnes de structures de données
    • arbres
    • listes
    • files d'attente
    • caches
    • etc.
  • good documentation
    • beaucoup d'exemples de code
  • développement "assistance"
    • abstraction fil de l'exploitation forestière
    • pools de threads
    • cadre de test
    • minuteries
  • support Unicode
  • de nombreuses plates-formes supportées
  • expressions régulières
  • tonnes plus ...
+0

Je sautais glib comme la bibliothèque de base, car il est impossible de lier une bibliothèque statique ( – Lothar

+0

@Lothar - c'est * possible *, cela signifie simplement que votre logiciel devrait être compatible LGPL;) Si les exigences de licence sont importantes aussi, vous pouvez l'ajouter à votre question. – detly

+1

@Lothar: Juste pour effacer quelque chose, la licence 'glib' (LGPL) fait de votre travail un" travail combiné "si vous liez de manière statique, conformément à la section 4. Même si vous liez statiquement, vous n'avez pas à relâcher votre travailler sous la LGPL aussi longtemps que vous «ne restreignez pas la modification des parties de la bibliothèque contenues dans l'œuvre combinée». Comment pouvez-vous * pas * restreindre la modification de 'glib' si vous le reliez de manière statique?Facile: fournir les fichiers d'objets afin que les gens puissent créer un lien dans une autre version de 'glib'. P.S. Ceci suppose que vous ne modifiez pas 'glib'. –

0

Le temps d'exécution portable Apache projet

http://apr.apache.org/

est bon. Couvre les structures de données de base et est très bon pour l'abstraction réseau et E/S. Ce dernier est d'une magnitude meilleure que glib.

Malheureusement, la plupart des liens de documents sur les sites apache sont brisés au moment :-( Mais celui-ci fonctionne le travail http://apr.apache.org/docs/apr/1.4/modules.html

+0

Merci Lothar. Pourquoi dites-vous que c'est une grandeur meilleure? –

+1

Il est beaucoup plus de fonctionnalités complètes si vous voulez écrire un serveur. Eh bien pas une vraie surprise, je pense. – Lothar

Questions connexes