Documentations générales
- cppreference : Documentation complète du C et du C++, langages, bibliothèques standard, utilitaires, algorithmes, ...
- Apprendre à programmer en C sur OpenClassRooms (ex-Site du Zéro)
- Learn C The Hard Way : cours étape par étape, avec des exercices concrets
- The C Book : 2ème édition du livre publié chez Addison Wesley
- C Traps and Pitfalls (PDF, 117 KO)
- C FAQ : compilation des FAQs publiées sur le newsgroup comp.lang.c au fil des années.
- Les guides de Brian "Beej Jorgensen" Hall :
- Google C++ Style Guide : Le guide utilisé en interne chez Google, expliquant les choses à faire et à ne pas faire en C++.
Bibliothèques C++
Généralistes
Interface graphique
- wxWidgets
- Qt
- Fast Light Toolkit (FLTK)
- Ultimate++
Bibliothèques C
- Boehm garbage collector : Un "ramasse-miette" qui permet de ne plus avoir à libérer soi-même la mémoire allouée.
Généralistes
- GLib
- Apache Portable Runtime
- Core Foundation (CF) par Apple, pour Mac OS X et iOS
- CFLite par Apple, un sous-ensemble open-source multi-plateformes (Mac OS X, Linux, Windows)
- OpenCFLite, une implémentation open-source tierce de CFLite.
- Netscape Portable Runtime par la fondation Mozilla
Interface graphique
Unicode
- utf8proc
- MicroUTF-8
- ICU (International Components for Unicode)
- GNU libunistring
- librope
Compression
Hash
- SipHash : Fonction de hash cryptographique performante
Astuces développement C
Compilation et bibliothèques dynamiques
- Exécution automatique de code au chargement/libération d'une bibliothèque
- Les directives __attribute__
- Fonctions anonymes utilisant des extensions GCC
Simulation de namespace
- Technique à base de structures
- Raffinement de cette technique (cf. macro ISTI_MEM_AS) permettant de définir le nom local du namespace.
- Discussion sur StackOverflow avec plusieurs solutions envisagées.
Développement orienté objet
- Divers bibliothèques par Laurent Deniau, qui reproduisent le comportement du C++ ou de l'ObjectiveC.
- OOC PDF 221 pages, par Axel-Tobias Schreiner, qui passe en revue plusieurs techniques, jusqu'à créer un pré-processeur en Awk.
- Object Oriented C
- Object-oriented programming in C : quelques idées basées sur le bon sens, sans vouloir aller trop loin.
- Discussion intéressante sur StackOverflow