Meine einzelnen Header -Bibliotheken für C/C ++.
| Bibliothek | letzte Version | Kategorie | Loc | Lizenz | Beschreibung |
|---|---|---|---|---|---|
| json.h | 1.00 | Parser | 848 | Zlib | JSON-Parser nicht zu Alkohole |
| Sched.h | 1.00 | Multithreading | 699 | Zlib | Multithread -Aufgabenplaner |
| Web.h | 1.00 | Netzwerk | 1455 | BSD | Leichtes Webserver |
| sdefl.h | 1.00 | Kompression | 525 | öffentlich zugängliche | Deflate Compressor |
| sinfl.h | 1.00 | Dekompression | 320 | öffentlich zugängliche | Deflate Decompressor |
Gesamtbibliotheken: 5
Gesamtzeilen von C -Code: 4487
Windows hat keine Standardverzeichnisse, in denen Bibliotheken leben. Das macht die Bereitstellung von Bibliotheken in Windows viel schmerzhafter als Open-Source-Entwickler bei Unix-Derivaten im Allgemeinen. (Außerdem verschlechtert sich die Bibliotheksabhängigkeiten in Windows erheblich.)
Es gibt auch ein häufiges Problem in Windows, in denen eine Bibliothek gegen eine andere Version der Laufzeitbibliothek erstellt wurde, die Link -Konflikte und Verwirrung verursacht. Wenn Sie die Libs als Header versenden, werden Sie sie normalerweise einfach in Ihr Projekt zusammenstellen, ohne Bibliotheken zu erstellen, und so dieses Problem umgehen.
Wenn Sie sie zu einer einzigen Datei machen, können Sie sie sehr einfach in ein Projekt fallen lassen, das sie benötigt. (Natürlich können Sie sie trotzdem in einen ordnungsgemäßen gemeinsamen Bibliotheksbaum stellen, wenn Sie möchten.)
Warum nicht zwei Dateien, eine ein Header und eine eine Implementierung? Der Unterschied zwischen 10 Dateien und 9 Dateien ist keine große Sache, aber der Unterschied zwischen 2 Dateien und 1 Datei ist eine große Sache. Sie müssen die Dateien nicht aufzühen oder zieren, Sie müssen sich nicht daran erinnern, zwei Dateien usw. anzuhängen.
Jede Datei verfügt über Dokumentation, grundlegende USSAGE -Beschreibung und Beispiele oben in der Datei. Zusätzlich werden auch jede API -Funktion, Struktur- und Mitgliedsvariablen dokumentiert. Schließlich verfügt jede Bibliothek für zusätzliche Arbeitsbeispiele im Testverzeichnis über eine entsprechende Testdatei.
Persönlich benutze ich hauptsächlich C anstelle von C ++ und da ich sowohl C- als auch C ++ und C ++ unterstützen möchte, ist nicht von CI verwendet, daher konzentrieren ich mich auf C.
Ich benutze C89 anstelle von C99/C11 für seine Portabilität zwischen verschiedenen Compilern und Zugriffsbehörden für andere Sprachen.