Le listing qui suit comprend deux fichiers. Le but est de proposer un exemple de programme faisant appel a plusieurs fichiers. Il faut alors effectuer une compilation prealable sans edition de lien (option de compilation -c, qui n'est d'ailleurs pas propre au C). ----------------------------------------------------------------------- FICHIER var_extern.c /***************** CLASSES DE MEMORISATION **************************/ /* Classe extern */ /* Les fonctions fonc2 et fonc3 sont definies dans var_extern_func.c */ /* Pour la compilation : gcc -c var_extern_func.c */ /* gcc var_extern.c var_extern_func.o */ /* On peut aussi faire gcc -c var_extern_func.c */ /* gcc -c var_extern.c */ /* gcc var_extern_func.o var_extern.o */ /**********************************************************************/ #include int i; void fonc2(); void fonc3(); main() { i=1; fonc1(); fonc2(); fonc3(); } fonc1() { printf("fonc1 : la valeur de i est %d\n",i); } FIN DU FICHIER var_extern.c ----------------------------------------------------------------------- FICHIER var_extern_func.c /* Fichier appele par programme principal var_extern.c */ /* Pour les instructions de compilation, voir var_extern.c */ #include extern int i; /* Le mot cle extern est facultatif, mais simplifie la lecture */ fonc2() { printf("fonc2 : la valeur de i est %d\n",i); } fonc3() { printf("fonc3 : la valeur de i est %d\n",i); } FIN DU FICHIER var_extern_func.c -----------------------------------------------------------------------