Voila la section C/UNIX. Au menu : du C et de l'UNIX ;-)
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)
Cours de C "avancé"
- TP 1 de C - Outils
- TP 1 de C - Sudoku (suite, pour s'occuper)
- TP 2 de C - Moteur de jeu texte Mastermind
- TP 3 de C - Pointeurs
- TP 4 de C - Calcul vectoriel et matriciel
- TP 5 de C - Hall of Fame (2 séances)
- TP 6 de C - Mastermind en SDL2
- TP 7 de C - Génération de documentation (LC II, le retour)
- TP 8 de C - Aide au développement [compilsepx11.c X11] [compilsepsdl.c SDL] [profilage.c]
- TP 9 de C - Calculatrice
- TP 10 de C - The end
- Makefile simple
- Examens
- Exigences pour l'examen
- Quelques outils pour la mémoire
Versions alternatives de quelques TPs :
- TP 5 de C - Moteur de jeu texte Mastermind
- TP 5 de C - Moteur de jeu texte FloodIt
- TP 6 de C - FloodIt en SDL2 ou en Xlib
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 C18
- Référence C par Richard Stallman [pdf]