10
votes

Quelles sont les bibliothèques communes pour C?

C ++ a STL et Boost et C # possèdent la bibliothèque .NET Framework. De même, quelles sont les bibliothèques les plus courantes utiles à un programmeur C? (Autre que la bibliothèque standard C.)

Je recherche la plupart des capacités disponibles dans la STL: conteneurs (vecteurs, listes liées, arbres, table de hachage), algorithmes (tri, recherche), fichier io et chaînes.

Idéalement, la bibliothèque doit être open-source, travailler sur Windows (la plate-forme inter-plate-forme est bien) et est utilisée activement.


4 commentaires

annuaire.fsf.org/category/clibs


Pour les structures de données: Stackoverflow.com/questions/ 1819416 / ...


et Stackoverflow.com/Questtions/4016383/c-Data-tructure-library


Glibc, Eglibc, DietLibc, Libc de BSD, continue à aller ...


3 Réponses :


5
votes

Le plus proche Je sais si c'est GLIB de GTK, voir http: //library.gnome. Org / Devel / Glib / 2.26 /


0 commentaires

1
votes

Oui. Glib est la chose la plus proche de STL dans C. Si vous le trouvez assez complexe à utiliser, essayez Vala. C'est beaucoup plus facile. http://live.gnome.org/vala


1 commentaires

Vala a l'air assez soignée, ressemble essentiellement à écrire C # mais compilair au code C natif / binaire, bien que je ne pense pas que cela devrait s'appliquer à cette question.



7
votes

Si vous souhaitez des structures de données à usage général comme STL a, glib est probablement la réponse à votre question. Mais une meilleure question pourrait être la raison pour laquelle vous écrivez votre programme en C? C potentiel de brillance vient lorsque vous n'utilisez pas de code trop général pour effectuer des tâches qui pourraient être mieux effectuées de manière spécifique à votre tâche particulière. glib vous donne simplement "C ++ avec la syntaxe laid laid" (et moindre capacité pour le compilateur à optimiser).


2 commentaires

Pour une telle gribaderie et GTK sont bien faites. Je ne voudrais pas que OT ait encore un autre dialecte C ++ pour cela. Et C ++ comme "avoir" une belle syntaxe est bien aventureuse.


Je ne suis pas un fan de C ++ ou de sa syntaxe, mais je ne suis pas non plus un fan d'essayer de faire du travail C A C ++. La majeure partie de l'avantage de C provient du fait que vous pouvez éviter une allocation dynamique entièrement pour les opérations intermédiaires et attribuer uniquement des objets de longue durée.