Programmation C avancée
Présentation
Le but de cette UE est d'approfondir les connaissances des étudiants en C et d'appliquer ces connaissances dans le cadre d'un projet.
Pré-requis nécessaires
Connaissances de l'algorithmique et de la programmation en C, correspondant aux UE Algorithmique et programmation et Langages de programmation (parcours IFA), ou à l'UE C, Algorithmique et Structures de Données (parcours CDA).
Objectifs
- Maitriser la syntaxe et de la sémantique du langage C.
- Savoir développer et déboguer une application en langage C.
Compétences visées
L' étudiant doit disposer, parmi l'ensemble de ceux qu'il maitrise, d'un langage adapté à la programmation de systèmes disposant d'un support d'exécution restreint en terme des ressources matérielles et/ou de services logiciels disponibles.
Descriptif
- Langage C avancé :
Rappel sur les classes d'allocations.
Codage de structures de données complexes.
Pointeurs de fonctions, fonctions "génériques".
Conversions de types, implicites et explicites, portabilité du code.
Fonctions à nombre variables d'arguments, mécanisme de passage. des arguments à une fonction.
E/S haut niveau, contrôle des périphériques. - Environnement de programmation :
Compilation séparée.
Outils make, déboggeur symbolique.
Éditions de liens, construction et utilisation de bibliothèques statiques et dynamiques.
Introduction à l'internationalisation. - Développement d'une application simple en langage C, intégrant si besoin est, une IHM graphique élémentaire (GTK) et un accès à une base de données.
Bibliographie
- B. Kerninghan, R. Pike, La programmation en pratique, Vuibert informatique,2001
- A. Braquelaire, Méthodologie de la programmation en C (Norme C 99 - API POSIX), Dunod, 2005
- B.W. Kerningham, R. Pike, David Odin, Programmation Linux avec GTK+, 2000, Eyrolles