2009-03-29 9 views
5

Ich bin auf der Suche nach einer Bibliothek für C, das gibt mir zumindest einige der Dinge, die ich wirklich vermisse von C++ und der STL/Boost. (Ich habe C zu verwenden, also bitte keine "Verwendung C++" Beiträge)Mature Standard-Bibliothek für C

Ich brauche

  1. dynamische Strings (also wachsen und schrumpfen automatisch)
  2. irgendeine Art von Liste (std :: vector Ersatz)
  3. so etwas wie string (für Typ Gespräche & Puffer)

Darüber hinaus hat es eine ausgereifte und Open-Source-Implementierung haben, und es hat Plattform independan sein t (Windows, Linux und Mac müssen unterstützt werden).

Irgendwelche Empfehlungen?

+0

Ihre Frage Titel ist eine falsche Bezeichnung; Was Sie suchen, ist eine ausgereifte Nicht-Standard-Bibliothek für C. Die Standard-Bibliothek für C bietet nicht, was Sie anfordern. –

+0

Ich würde denken, Jonathan hat Recht, aber ich habe es gelesen. Erzähl mir von einer brauchbaren C-Datenstrukturbibliothek – Friedrich

Antwort

14

Was ist mit der GLib von GTK?

+0

Es sieht interessant aus, hast du irgendwelche Erfahrungen damit? Ist es verwendbar und nicht zu kompliziert, um den Dreh raus zu bekommen? – Milan

+0

Tut mir leid, ich habe keine Erfahrung damit. AFAIK, Der "native" Weg, Programme für GNOME zu programmieren, ist in C (nicht C++) mit GLIB. Auch der Autor des IRC-Clients irssi (http://irssi.org) verwendet es. So viele Leute benutzen es (nicht, dass dies in jedem Fall hochwertige Software impliziert ...) – Manuel

+0

glib ist sehr einfach zu bedienen. Es ist sehr konsistent und eine der besseren "freien" Software-Bibliotheken. – Friedrich

4

Ich würde die Apache Portable Runtime empfehlen. Es ist relativ klein, portabel und leistungsfähig - versorgt den Apache httpd über mehrere Plattformen hinweg.

+0

Danke für Ihren Vorschlag. – Milan

2

Sie könnten immer eine dynamische Sprachlaufzeit in Ihre Anwendung einbetten. Der Kern ist nicht groß, bietet Datentypen, die Ihre Anforderungen erfüllen, ist Open Source und MIT lizenziert, so dass es sowohl mit FOSS als auch mit kommerziellen Projekten kompatibel ist.

Sie müssten nicht unbedingt den in Lua geschriebenen Code verwenden, da die C-API vollständigen Zugriff auf ihre Datentypen und deren Werte bietet. Sie könnten jedoch später einen Teil der Logik Ihrer Anwendung in Lua verschieben, um die Klarheit des Ausdrucks und andere Vorteile des Codierens in einer dynamischen Sprache mit Funktionen als erstklassige Werte zu verbessern.

Verwandte Themen