Leçon 57 : Programmation modulaire (Utilisation de plusieurs fichiers sources)
À mesure que les programmes s'étoffent, mettre tout le code dans un seul fichier (main.c) devient ingérable. La programmation modulaire consiste à diviser le code en unités logiques (modules), comprenant généralement un fichier d'en-tête (.h) et un fichier source (.c) correspondant.
Rôle des fichiers
1. Fichier d'en-tête (module.h)
Contient les déclarations (prototypes) des fonctions, les variables globales (utilisant extern) et les définitions de structures.
c // utilitaire.h #ifndef UTILITAIRE_H #define UTILITAIRE_H
// Prototype de fonction : int puissance(int base, int exp);
#endif
2. Fichier source (module.c)
Contient les définitions réelles (implémentation) des fonctions déclarées dans l'en-tête.
c // utilitaire.c #include "utilitaire.h"
int puissance(int base, int exp) { int resultat = 1; for (int i = 0; i < exp; i++) { resultat *= base; } return resultat; }
3. Fichier principal (main.c)
Inclut le fichier d'en-tête pour accéder aux prototypes et appelle les fonctions définies ailleurs.
c // main.c #include <stdio.h> #include "utilitaire.h" // Inclure l'en-tête local
int main() { int resultat = puissance(2, 5); printf("2^5 = %d\n", resultat); return 0; }
Processus de compilation
Lorsque vous utilisez plusieurs fichiers, vous devez les compiler ensemble :
bash gcc main.c utilitaire.c -o mon_app ./mon_app
Ce processus indique au compilateur de compiler chaque fichier .c puis de lier les fichiers objets résultants en un seul exécutable.