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
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 ...
Le temps d'exécution portable Apache projet
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
Merci Lothar. Pourquoi dites-vous que c'est une grandeur meilleure? –
Il est beaucoup plus de fonctionnalités complètes si vous voulez écrire un serveur. Eh bien pas une vraie surprise, je pense. – Lothar
Je sautais glib comme la bibliothèque de base, car il est impossible de lier une bibliothèque statique ( – Lothar
@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
@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'. –