Techniques de développement

  • Cours (CM) -
  • Cours intégrés (CI) 14h
  • Travaux dirigés (TD) -
  • Travaux pratiques (TP) 16h
  • Travail étudiant (TE) -

Langue de l'enseignement : Français

Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant

Description du contenu de l'enseignement

Mécanismes de la compilation (préprocesseur, compilation, assemblage et édition de liens). Utilisation, création et compilation de bibliothèques. Compilation séparée et structuration d'un projet informatique (makefile). Gestionnaire de versions et développement collaboratif (svn, git). Documentation de code (doxygen). Analyse de couverture de code (gcov). Méthodologie de gestion des erreurs et déverminage (gdb et valgrind). Structure mémoire d'un exécutable, pile d'exécution. Approfondissement des mécanismes d'allocation statique et dynamique de mémoire, arithmétique des pointeurs, appels de fonctions. Portée des variables et fonctions. Compléments sur le langage C et ses bibliothèques.

Compétences à acquérir

À l'issue de cette UE, un étudiant est capable de :
- utiliser un compilateur, connaître ses options, utiliser la compilation séparée
- écrire un makefile
- documenter un code source
- contribuer à un projet collaboratif
- déboguer un programme
- maîtriser la structure en mémoire d'un programme écrit en langage C
- développer un projet de taille importante

Bibliographie, lectures recommandées

Références :
- Jens Gustedt, "Modern C", http://icube-icps.unistra.fr/index.php/File:ModernC.pdf
- Documentation linux (man man)

Pré-requis recommandés

À l'entrée de cette UE, un étudiant devrait avoir suivi ou être capable de :
- utiliser un shell et un éditeur de texte (UE Culture et Pratique de l'Informatique)
- écrire des programmes en langage C (UE Algorithmique et Programmation 2)

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact