Ressources¶
Documentation/Spécification¶
Quand vous cherchez des informations sur une fonction ou autres éléments du langage :
cppreference 🇬🇧 par exemple pour la fonction printf
The Open Group 🇬🇧, le consortium qui développe les standards POSIX (entre autre). Vous pourrez trouver sur le site la liste des headers (en bas de page) qui peut éventuellement vous aider à retrouver des fonctions.
dans le terminal :
man num_section nom_fonction(voirman manpour la liste des sections). Pour les éléments de C, voir dans la section 3,man 3 printf. Pour les fonctions système, voir dans la section 2,man 2 fork.dans le terminal :
apropos printfvous donnera la liste des sections du man oùprintfapparaît.man en ligne avec des liens cliquables et un peu de coloration syntaxique.
Cours/Livres sur le C¶
Si vous voulez améliorer vos connaissances en C, un livre incontournable est « The C Programming Language 2nd edition » 🇬🇧 de Brian Kernighan et Dennis Ritchie. Il présente le langage de la norme ANSI C, qui a évolué depuis (commentaires avec //, déclarations plus flexibles, …) et dont certains exemples demandent quelques modifications, mais reste un très bon début pour aborder le langage. Un second livre, plus difficile à aborder en 1er, est « Modern C » 🇬🇧 de Jens Gustedt, le livre complet est en open access avec le code source.
Si vous souhaitez suivre un cours avec des vidéos, le cours CS50 d’Harvard 🇬🇧 présente une introduction à l’informatique sur 10 semaines, dans le cadre de ce cours, vous pouvez suivre jusqu’à la semaine 4 et regarder la partie structure de la semaine 5.
Pour mieux comprendre les tableaux et pointeurs, il existe un tutoriel 🇬🇧 de Ted Jensen et maintenu par Jay Flaherty.
Vous pourrez aussi trouver des cours en français sur zeste de savoir 🇫🇷 ou openclassroom 🇫🇷.
La chaîne Low Level peut vous aider à comprendre le C et l’assembleur, avec une partie sur des aspects sécurité.
Cours/livres sur les aspects système¶
Pour les aspects système, nous ne verrons pas tout dans ce cours donc si vous voulez aller plus loin, vous pouvez lire « Développement système sous Linux, 5e édition » 🇫🇷 de Christophe Blaess (accessible en ligne avec la BU).
Si vous voulez mieux comprendre le fonctionnement de l’ordinateur, plus proche de l’électronique, vous pouvez regarder la vidéo « Exploring How Computers Work » 🇬🇧 de Sebastian Lague.
Pour aller un peu plus loin, la playlist « Computer Science » de CrashCourse part de la base historique de l’informatique et des portes logiques et va jusqu’à des sujets comme la robotique, la cryptographie, l’apprentissage, …