Mes bibliothèques d'en-tête simples pour C / C ++.
| bibliothèque | dernière version | catégorie | Localiser | licence | description |
|---|---|---|---|---|---|
| JSON.H | 1,00 | analyseur | 848 | zrib | Parser JSON non allouant |
| sched.h | 1,00 | multithreading | 699 | zrib | planificateur de tâches multithread |
| web.h | 1,00 | réseau | 1455 | BSD | serveur Web léger |
| sdefl.h | 1,00 | compression | 525 | domaine public | dégonfler le compresseur |
| sinfl.h | 1,00 | décompression | 320 | domaine public | dégonfler le décompresseur |
Bibliothèques totales: 5
Total des lignes de code C: 4487
Windows n'a pas de répertoires standard où les bibliothèques vivent. Cela rend le déploiement de bibliothèques dans Windows beaucoup plus douloureux que les développeurs open source sur les dérivés Unix. (Cela aggrave également les dépendances de la bibliothèque dans Windows.)
Il y a aussi un problème commun dans Windows où une bibliothèque a été construite sur une version différente de la bibliothèque d'exécution, ce qui provoque des conflits de liaison et une confusion. L'expédition des LIB comme en-têtes signifie que vous les compilez normalement directement dans votre projet sans fabriquer des bibliothèques, évitant ainsi ce problème.
En leur faisant un seul fichier, il est très facile de simplement les déposer dans un projet qui en a besoin. (Bien sûr, vous pouvez toujours les mettre dans un arbre de bibliothèque partagé approprié si vous le souhaitez.)
Pourquoi pas deux fichiers, un en-tête et un une implémentation? La différence entre 10 fichiers et 9 fichiers n'est pas un gros problème, mais la différence entre 2 fichiers et 1 fichier est un gros problème. Vous n'avez pas besoin de zipter ou de fixer les fichiers, vous n'avez pas à vous rappeler de joindre deux fichiers, etc.
Chaque fichier a une documentation, une description de base de l'USSAGE et des exemples en haut du fichier. De plus, chaque fonction API, les variables structure et membres sont également documentées. Enfin, chaque bibliothèque dispose d'un fichier de test correspondant à l'intérieur du répertoire de test pour des exemples de travail supplémentaires.
Personnellement, j'utilise principalement C au lieu de C ++ et comme je veux prendre en charge C et C ++ et C ++ n'est pas utilisable à partir de CI, donc se concentrer sur C.
J'utilise C89 au lieu de C99 / C11 pour sa portabilité entre les différents compilateurs et l'accès à d'autres langues.