Liens et références supplémentaires
Le livre indique différentes ressources qui se trouvent sur l'Internet.
Pour éviter au lecteur de recopier des URLs qui sont parfois longues, nous les reprenons ici.
Cela nous permet également de mettre à jour les liens si jamais ceux-ci changent par rapport à la version imprimée.
Ces liens sont organisés par chapitre.
Nous avons également ajouté quelques nouveaux liens.
Avant-propos
- Le site du comité de standardisation: vous y trouverez des drafts qui correspondent à la norme avec les dernières corrections, ainsi que le rationale qui justifie les choix faits lors de la normalisation du langage;
- la norme elle-même peut être achetée ici;
- l'article de Dennis Ritchie retraçant l'histoire du langage C (PDF);
- le site de notre livre. Vous y êtes en ce moment! ;-)
Survol
- Le compilateur libre GCC.
Pour les utilisateurs de Microsoft Windows, voir MingW et la version de GCC qui se trouve dans Cygwin.
- La plupart des projets importants ont un « style » spécifique.
Voici ceux d'OpenBSD et du Projet GNU.
Celui de Linux se trouve dans le fichier Documentation/CodingStyle des sources du noyau.
- Divers documents introductifs sur la programmation en C sont disponibles sur l'Internet et pourront être utiles à ceux qui ne connaissent pas du tout C avant d'attaquer les chapitres suivants. Citons en particulier:
Syntaxe et Sémantique générales
L'outil de documentation automatique
Doxygen.
Types
Le standard
IEEE-754-1985 sur l'arithmétique flottante est disponible en ligne.
Entrées / Sorties
[Pas de liens pour ce chapitre]
Les directives du préprocesseur
La bibliothèque standard
La bibliothèque
PCRE permet d'exploiter les puissantes expressions régulières de Perl en C.
Tester et débugger un programme
- GDB est le débuggeur du projet GNU.
Il dispose de plusieurs interfaces graphiques:
- Valgrind est un complément fort utile à GDB sur les machines Linux, en particulier pour débugger les problèmes liés à la mémoire.
A défaut, il existe diverses bibliothèques qui peuvent également être utilisées pour trouver ces problèmes:
- DejaGNU est une plate-forme pour écrire des jeux de tests.
Programmation modulaire et bibliothèques
- Le document PMake - A Tutorial est le manuel du Make que l'on trouve sur la plupart des systèmes BSD.
- Le manuel de Gnu Make est lui disponible ici.
Quelques notions de systèmes et d'architecture
Chaque architecture dispose d'épais manuels la décrivant. Ceux pour les processeurs Intels sont disponibles sur
ce site.
Programmation en C et sécurité
Optimisation
- La bibliothèque ATLAS fait un nombre important de tests à la compilation afin d'être optimisée pour la plate-forme.
- Kcachegrind est une interface aux fonctionnalités d'optimisation de Valgrind.
- Le livre Hacker's Delight de Henry S. Warren Jr., qui décrit de nombreux trucs et astuces pour faire certaines opérations rapidement a son propre site web. [Acheter chez Amazon.fr]
Utiliser C avec d'autres langages
- Un HOWTO expliquant comment insérer de l'assembleur dans du C avec gcc.
- Pour cela, les manuels de gas et gcc sont également utiles.
SWIG permet d'interfacer C avec un grand nombre d'autres langages.
Programmation système Unix/POSIX
[Pas de liens pour ce chapitre]
Programmation réseau POSIX
Le site de l'IANA maintient la liste des
correspondances ports/services.