ProgC

Sujets de travaux pratiques de Programmation en C

View on GitHub

Vérification du code C

Ce guide propose quelques commandes pour vérifier votre code pendant les travaux pratiques. Les TP ne sont pas à soumettre et ne sont pas évalués : ces commandes servent à apprendre, corriger et consolider votre compréhension.

Compilation

Compilez toujours avec des avertissements activés. Si votre compilateur prend en charge C23/C2024, vous pouvez utiliser :

gcc -std=c23 -Wall -Wextra -pedantic -g fichier.c

Selon l’environnement de travail, il peut être nécessaire d’utiliser une autre norme :

gcc -std=c17 -Wall -Wextra -pedantic -g fichier.c
gcc -std=gnu23 -Wall -Wextra -pedantic -g fichier.c

Exécution

Testez votre programme avec plusieurs entrées :

Sanitizers

Les sanitizers aident à détecter des erreurs mémoire et des comportements indéfinis.

gcc -std=c23 -Wall -Wextra -pedantic -g -fsanitize=address,undefined fichier.c
./a.out

Si le programme utilise plusieurs fichiers :

gcc -std=c23 -Wall -Wextra -pedantic -g -fsanitize=address,undefined src/*.c
./a.out

Valgrind

Valgrind permet de repérer des lectures/écritures invalides et des fuites mémoire.

gcc -std=c23 -Wall -Wextra -pedantic -g fichier.c
valgrind --leak-check=full --track-origins=yes ./a.out

Objectif pour les exercices : comprendre et corriger chaque erreur signalée.

Analyse statique

Lorsque les outils sont disponibles :

cppcheck --enable=all .
clang-tidy fichier.c -- -std=c23

Ces outils complètent la compilation et les tests. Ils ne remplacent pas la lecture attentive du code.

Code généré par IA

Si vous utilisez un assistant d’IA, vérifiez systématiquement :

Conservez uniquement du code que vous pouvez expliquer, compiler, tester et corriger.