Académique Documents
Professionnel Documents
Culture Documents
Gnralits
Un logiciel doit tre conu comme la runion de plusieurs modules. Chaque module regroupe des fonctions de mme nature (Graphisme, Algorithmes principaux, interface utilisateur, ) Un seul des modules contient la fonction main ()
Prog. Struct. C
IX - Prog. Modulaire
Les avantages
En sparant les fonctionnalits du projet en units le moins possible interdpendantes, on simplifie la mise au point du logiciel qui se fait module par module. La compilation est beaucoup plus rapide, car seuls les modules qui ont t modifis sont compils. Certains modules, sils sont bien conus peuvent tre r-utiliss dans dautres projets.
Prog. Struct. C IX - Prog. Modulaire 3
La mise en uvre
Programme monofichier Programme modulaire
En-tte
Fichiers .h
Module
Fichiers .c
Prog. Struct. C
IX - Prog. Modulaire
2) Dclaration des types utilisateurs : struct 3) Dfinition des variables de porte fichier Ex : static int panelhandle; 4) Dclaration des variables dfinies de manire externe : extern 5) Dclaration des prototypes des fonctions Ex : void ma_fonction(void); 1+2+3+4+5 Mon_Fichier.h
Prog. Struct. C IX - Prog. Modulaire 5
La directive #include
Syntaxe : #include <stdio.h> #include "[nomchemin\\]nomfichier.h Action : Avant la compilation, le pr-processeur met en lieu et place de la directive le fichier concern.
Prog. Struct. C
IX - Prog. Modulaire
La directive #define
Syntaxe : #define BUFSIZE 512 Action : Opre une substitution de texte sur le code source ralise par le prprocesseur. Partout o la chane de caractres BUFSIZE est rencontre, elle est remplace par 512 La compilation se fera sur le code transform!
Prog. Struct. C IX - Prog. Modulaire 7
Les Macros
Macro #define o la substitution de texte est paramtre Exemple : #define MAX(a,b) (((a)>(b))?(a):(b)) MAX(expr1,expr2) sera utilise comme (((expr1)>(expr2))?(expr1):(expr2)) Les parenthses servent fixer les priorits.
Prog. Struct. C
IX - Prog. Modulaire
Prog. Struct. C
IX - Prog. Modulaire
Prog. Struct. C
IX - Prog. Modulaire
10
Prog. Struct. C
IX - Prog. Modulaire
11
Exemple
modulaire.prj
Prog. Struct. C
IX - Prog. Modulaire
12