C - C++
Modules & Librairies
Accueil

du site

Modules


Il est impensable de faire tenir un programme tout entier dans un seul fichier source.
Pour la plupart des programmes, ce fichier contiendrait des centaines voire des milliers de pages.
Comment, dans ces conditions, trouver rapidement telle séquence à modifier ou à remplacer ?
La mise au point et la maintenance seraient pratiquement impossibles.

On est donc amené à découper un programme en divers modules.

Ce découpage ne doit pas se faire n'importe comment mais par fonctionnalités.
Par exemple, si le programme nécessite en plusieurs endroits des procédures de calcul matriciel, toutes ces procédures seront groupées dans un seul module source qui ne contiendra que des procédures de ce type.

Tout ce qui concerne les procédures d'entrée au clavier et de sortie à l'écran seront, par exemple, regroupées dans deux modules "entrées.c" et "sorties.c" à moins qu'on ne préfère un seul module "entrees_sorties.c".

Cette méthode de découpage facilite :

  • la programmation par équipes de spécialités diverses.
  • la mise au point du programme en isolant les diverses parties que l'on peut tester indépendamment.
  • la maintenance.
  • l'évolution ultérieure du programme.
  • la réutilisation de certains modules déjà écrits pour d'autres programmes : rentabilisation du travai fait. thésoriation des ressources de l'Entreprise.

 

Fichiers Objet - Editions de liens


La prolifération des modules source pose le problème de leur assemblage pour former le programme complet.

Voici comment on procède :

Contrairement à ce qui a été dit (nous ne voulions pas vous embrouiller) le compilateur ne fournit pas immédiatement le fichier exécutable, mais un fichier intermédiaire qui s'appelle "fichier objet".
Ce fichier objet est généralement doté de l'extension " . obj "
.
Ne confondez pas les fichiers objet et la programmation orientée objet : ça n'a rien à voir !

  • Les divers modules composant le programme sont compilés indépedamment les uns des autres.
  • Les fichiers objet obtenus sont ensuite assemblés grâce à un programme appelé "Editeur de Liens" pour obtenir l'exécutable final.



Librairies


Certains modules dont les fonctionnalités sont appelées à coopérer méritent d'être regroupés en des ensembles plus vastes appelés "librairies".

C'est possible grâce à des logiciels appelés "Ediiteurs de Librairies" susceptibles de regrouper autant de modules objet qu'on souhaite dans un seul fichier appelé "librairie" dont l'extension est souvent " . lib "

On se sert du regroupement en librairies lorsque les fonctions à écrire sont tellement nombreuses qu'il est nécessaire de leur consacrer un grand nombre de modules séparés.

Ces librairies sont dites statiques car, contrairement aux librairies dynamiques ( d'extension " . dll " ) elles font partie du programme exécutable chargé en mémoire et ne peuvent être ni déchargées quand on a besoin de plus de mémoire, ni partagées avec d'autres programmes qui auraient également besoin d'elles.


La suite : Compilateurs
Sommaire Langage C
Programmation modulaire
Accueil

du site