2010-09-02 4 views
6

Was sind einige allgemeine Allzweckbibliothek wie Boost C++ ist aber für C? Es sollte eine plattformübergreifende Bibliothek sein und Sammlungen wie Bäume, verknüpfte Listen, Warteschlangen usw. enthalten. Welche Vorteile/Nachteile haben diese Bibliotheken?C: Gemeinsame Frameworks/Bibliotheken

Antwort

8

glib ist recht nett, weil:

  • liberal lizenziert (LGPL)
  • konstante Entwicklung
  • Tonnen von Datenstrukturen
    • Bäume
    • Listen
    • Warteschlangen
    • Caches
    • usw.
  • good documentation
    • viel Beispielcode
  • Entwicklung "Hilfe"
    • Protokollierung
    • Thread Abstraktion
    • Pools
    • Gewinde
    • Test-Framework
    • Timer
  • Unicode-Unterstützung
  • viele unterstützten Plattformen
  • reguläre Ausdrücke
  • Tonnen mehr ...
+0

ich übersprungen glib als Basisbibliothek, da es nicht möglich ist, es als eine statische Bibliothek zu verknüpfen (vor allem nicht, wenn man es mit gnome apps verbindet) oder hat sich das zwischenzeitlich geändert? – Lothar

+0

@Lothar - es ist * möglich *, es bedeutet nur, dass deine Software LGPL-kompatibel sein soll;) Wenn Lizenzanforderungen auch wichtig sind, kannst du sie zu deiner hinzufügen Frage. – detly

+1

@Lothar: Nur um etwas zu klären, macht die 'glib'-Lizenz (LGPL) Ihre Arbeit zu einer" Kombinierten Arbeit ", wenn Sie, wie in Abschnitt 4 beschrieben, statisch verknüpfen. Auch wenn Sie statisch verlinken, müssen Sie Ihre nicht freigeben arbeiten unter der LGPL, solange Sie "die Änderung der Teile der Bibliothek, die in der Kombinierten Arbeit enthalten sind, nicht einschränken". Wie können Sie die Änderung von 'glib' nicht einschränken, wenn Sie sie statisch verknüpfen?Einfach: Liefern Sie die Objektdateien, damit die Leute in einer anderen Version von 'glib' verlinken können. P.S. Dies setzt voraus, dass Sie 'glib' nicht ändern. –

0

Der Apache Portable Runtime Projekt

http://apr.apache.org/

ist gut. Deckt grundlegende Datenstrukturen ab und ist sehr gut bei der Netzwerk- und IO-Abstraktion. Das spätere ist eine Größenordnung besser als glib.

Leider sind die meisten Dokument Links auf den Apache-Websites sind im Moment kaputt :-( Aber dieses arbeitet Arbeit http://apr.apache.org/docs/apr/1.4/modules.html

+0

Danke Lothar. Warum sagst du es eine Größenordnung besser? –

+1

Es ist viel mehr Feature abgeschlossen, wenn Sie einen Server schreiben möchten. Nun, keine wirkliche Überraschung, denke ich. – Lothar