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

  1. 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.
  2. 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.
  3. 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

  1. B. Kerninghan, R. Pike, La programmation en pratique, Vuibert informatique,2001
  2. A. Braquelaire, Méthodologie de la programmation en C (Norme C 99 - API POSIX), Dunod, 2005
  3. B.W. Kerningham, R. Pike, David Odin, Programmation Linux avec GTK+, 2000, Eyrolles