Voila la section C/UNIX. Au menu : du C et de l'UNIX ;-)
Cours de C "avancé"
Les énoncés thématiques des TPs :
- Outils : débogueur, valgrind, sanitizers et tests unitaires
- Sudoku
- Pointeurs
- FloodIt : moteur de jeu (texte)
- Calcul vectoriel et matriciel
- Hall of Fame : Séance 1 - Séance 2
- Compléments - Structures particulières (énumération, union)
- FloodIt : programmation graphique en SDL2 ou en Xlib
- Génération de documentation (LC II, le retour)
- Aide au développement [compilsepx11.c X11] [compilsepsdl.c SDL] [profilage.c]
- Calculatrice
- The end
Quelques ressources :
- Makefile simple
- Examens
- Exigences pour l'examen
- Quelques outils pour la mémoire
Versions alternatives de quelques TPs :
Semaines bloquées : UNIX / C
- TP UNIX du vendredi : connexion et fichiers, éditeur VI
- TP Unix du lundi : droits et redirections
- TP Unix du mÂrdi : les processus (ps, kill) et les commandes nohup et crontab
- TP Unix du mercredi : réseau, connexion à distance, web
- TP 1 de découverte du C : syntaxe, variables, affichage et boucles
- TP 2 de découverte du C : saisie et fonctions
- TP 3 de découverte du C : tableaux, devinette et chaînes de caractères
- TP 4 de découverte du C : jeu mystère
- TP 5 de découverte du C : MO MO MOTUS
- Compléments de TP C
- Code de P. Eastmann, IOCCC 2011 (compiler avec l'option -lm)
Environnement de travail
Les TPS doivent être fonctionnels sur la machine nightmare (Debian 12) avec gcc 12.2.0. Les codes sources doivent être commentés et respecter les conventions d'indentation.
Les options de compilation à appliquer sont les suivantes : -Wall -Wextra -Wdeclaration-after-statement -Werror=vla
L'option -g est à spécifier pour utiliser le débogueur et/ou valgrind.
Il est important d'être efficace pour le développement. Les éditeurs installés sur les serveurs sont : nano, xemacs, [vs]code, vi...
Si vous voulez travailler chez vous sous Windows, vous pouvez installer Code Blocks en prenant la version qui embarque minGW, le mieux est probablement d'installer le sous-système Linux intégré à Windows 10/11. V ous pouvez même mettre un serveur graphique X (pas nécessaire sous W11).
Quelques références...
- Règles de développement sécurisé en C - ANSSI
- Guide de style du noyau LINUX
- Dernier brouillon de la norme C17
- Référence C par Richard Stallman [pdf]