Changes between Initial Version and Version 1 of CaoCourseTme1


Ignore:
Timestamp:
Feb 10, 2007, 7:29:35 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme1

    v1 v1  
     1= 0. Objectifs =
     2
     3L'objectif des deux premiers TMEs est de vous permettre de vérifier que vous maîtrisez les principaux outils de développement utilisés pour programmer efficacement en langage C sous UNIX.
     4Attention : Cette U.E. suppose que vous connaissez le langage C. Si vous ne le connaissez pas, ou si vous avez des lacunes, vous devez vous formez par vous même. Les bibliothèques sont faites pour cela, et vous pouvez utiliser les machines des salles de TP en libre service pour faire des exercices.
     5
     6On utilisera les outils suivants:
     7 * vim ou emacs : editeur de texte
     8 * indent : outil d'indentation automatique
     9 * gcc : préprocesseur, compilateur, linker
     10 * ar : constructeur d'archives
     11 * make : génération automatique avec gestion des dépendances
     12 * gdb : debogueur
     13
     14L'application logicielle proposée est une application de manipulation d'images au format Pgm.
     15Les algorithmes réalisent fondamentalement des parcours de tableaux à 2 dimensions.
     16
     17Commencez par créer un répertoire "tme1", qui contiendra tous les fichiers utilisés dans ce TME.
     18
     19= 1. Etape 1 : programme principal =
     20
     21Commencez par créer un sous-répertoire etape1 dans le répertoire tme1, et placez-vous dans ce répertoire. Dans cette première étape, vous allez devoir écrire deux fichiers : un fichier 'main.c' contenant la fonction main(), et un fichier 'Makefile' permettant de compiler le programme et de générer un fichier exécutable 'pgmg'.
     22
     23Le fichier Makefile doit contenir deux règles :
     24{{{
     25pgmg : main.c
     26}}}
     27qui effectue la compilation ET l'édition de liens en une seule passe.
     28{{{
     29clean
     30}}}
     31qui efface les fichiers temporaires et un éventuel 'core', pour ne conserver que les fichiers sources.
     32
     33Le programme 'main()' va lire le fichier 'input_file_name', en utilisant la fonction readpgm(), et  recopier chaque octet dans un tampon intermédiaire que vous devez allouer. Il va ensuite recopier le contenu de ce tampon dans un fichier 'output_file_name', en utilisant la fonction writepgm().
     34Le prototype de la fonction main() est défini comme suit:
     35{{{
     36int main(int argc, char *argv[])
     37}}}
     38Vous trouverez les prototypes des fonctions de lecture et d'écriture du format pgm dans la page PgmInputOutput.