Académique Documents
Professionnel Documents
Culture Documents
Cours Informatique Chap
Cours Informatique Chap
December 6, 2011
1 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Contenu du cours
1
3 4
Chapitre I : Techniques de programmation C++ Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux Porte des fonctions et des variables La passage des arguments La porte des variables Programmation modulaire La compilation spare
2 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
3 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
3 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
4 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
4 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
4 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
5 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
5 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
5 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
6 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
par une variable pointeur. Si px est de type type*, (*px) est la valeur de type type pointe par px.
7 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
par une variable pointeur. Si px est de type type*, (*px) est la valeur de type type pointe par px. int x(3); // x est de type entier int* px; // px est un pointeur sur entier px = &x; // px pointe sur la variable x cout *px endl; // ache la valeur pointee par px ache 3
7 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
par une variable pointeur. Si px est de type type*, (*px) est la valeur de type type pointe par px. int x(3); // x est de type entier int* px; // px est un pointeur sur entier px = &x; // px pointe sur la variable x cout *px endl; // ache la valeur pointee par px ache 3
7 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
par une variable pointeur. Si px est de type type*, (*px) est la valeur de type type pointe par px. int x(3); // x est de type entier int* px; // px est un pointeur sur entier px = &x; // px pointe sur la variable x cout *px endl; // ache la valeur pointee par px ache 3
7 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
8 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
8 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
8 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Allocation de la mmoire
En C++ comme en C, il y a deux faons d'allouer de la mmoire : 1 dclarer des variables La rservation de mmoire est dtermine la compilation : allocation statique. 2 allouer dynamiquement de la mmoire pendant l'excution d'un programme. Dans le cas particulier des pointeurs, l'allocation dynamique permet galement de rserver de la mmoire indpendamment de toute variable : on pointe directement sur une zone mmoire plutt que sur une variable existante. Note : Il existe en C++ des structures de donnes dynamiques comme les tableaux de taille variable (vetor) ou les chanes de caractres de type string qui ont recours l'allocation dynamique.
9 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Allocation dynamique en C
C possde deux oprateurs malloc et free permettant d'allouer et de librer dynamiquement de la mmoire. pointeur = malloc(size); rserve une zone mmoire de taiile size et met l'adresse correspondante dans pointeur. free pointeur ; libre la zone mmoire alloue au pointeur pointeur. C'est--dire que cette zone mmoire peut maintenant tre utilise pour autre chose. Il ne faut plus y accder !... (je vous conseille mme de faire suivre tous vos delete de l'instruction "pointeur = 0;")
10 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
int* px(0); px = malloc(sizeof int); *px = 20; cout *px endl; free px; px = 0;
11 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
delete pointeur ; libre la zone mmoire alloue au pointeur pointeur. C'est--dire que cette zone mmoire peut maintenant tre utilise pour autre chose. Il ne faut plus y accder !... (je vous conseille mme de faire suivre tous vos delete de l'instruction "pointeur = 0;")
13 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
14 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
14 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Le nom d'un tableau retourne l'adresse du premier lment du tableau, On peut utiliser le nom du tableau de la mme manire qu'un pointeur tout en gardant l'esprit que ce n'est pas un pointeur pour autant.
15 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
int tab[10]={5,8,4,3,9,6,5,4,3,8}; printf("%d",*tab); // ache la valeur 5 ou printf("%d",*tab); // ache la valeur 5cout << *tab; // ache la valeur 5 Les deux dernires instructions achent bien la valeur du premier lment du tableau.
16 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
L'exemple prcdent nous montre bien que : on peut utiliser un pointeur du mme type et l'initialiser avec le nom du tableau.
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
L'exemple prcdent nous montre bien que : on peut utiliser un pointeur du mme type et l'initialiser avec le 1 int* ptab; nom du tableau. ptab = tab; on peut donc se servir de ce pointeur comme s'il tait un tableau. Mais ce n'est pas un autre tableau, c'est le mme que tab. ptab et tab pointent sur le mme lment.
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
L'exemple prcdent nous montre bien que : on peut utiliser un pointeur du mme type et l'initialiser avec le 1 int* ptab; nom du tableau. ptab = tab; on peut donc se servir de ce 2 printf("%d", ptab[0]); pointeur comme s'il tait un ou tableau. Mais ce n'est pas un cout << ptab[0]; autre tableau, c'est le mme que tab. ptab et tab pointent sur le mme lment.
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
L'exemple prcdent nous montre bien que : on peut utiliser un pointeur du mme type et l'initialiser avec le 1 int* ptab; nom du tableau. ptab = tab; on peut donc se servir de ce 2 printf("%d", ptab[0]); pointeur comme s'il tait un ou tableau. Mais ce n'est pas un cout << ptab[0]; autre tableau, c'est le mme que tab. ptab et tab pointent sur le mme lment. l'oprateur crochet n'tant qu'une criture simplie du pointeur rfrenc.
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
L'exemple prcdent nous montre bien que : on peut utiliser un pointeur du mme type et l'initialiser avec le 1 int* ptab; nom du tableau. ptab = tab; on peut donc se servir de ce 2 printf("%d", ptab[0]); pointeur comme s'il tait un ou tableau. Mais ce n'est pas un cout << ptab[0]; autre tableau, c'est le mme que 3 printf("%d", tab[10] ); tab. ptab et tab pointent sur le est quivalent : mme lment. printf("%d", *(tab+10 )); l'oprateur crochet n'tant qu'une criture simplie du pointeur rfrenc.
17 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
18 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
18 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
19 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Allocation dynamique
La dnition d'un pointeur n'alloue en mmoire que la place mmoire ncessaire pour stocker ce pointeur et non pas ce qu'il pointe ! Il est prfrable d'initialiser le pointeur avant de l'utiliser sinon bonjour les dgts ! Un pointeur sur un type "void" pointe une zone sans type (exemple : void *pt).
20 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Les pointeur Dclaration et initialisation des pointeurs Oprateurs associs aux pointeurs Exemple illustratif des pointeurs Allocation de la mmoire Les pointeurs et les tableaux
Il ne faut pas modier ce pointeur car il est ncessaire pour la libration de la mmoire. En ce cas, on peut le dclarer comme constant : int * const p = new int[10];
22 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
On a trois types de passage des arguments : 1 le passage par dfaut, 2 le passage par valeur, 3 le passage par rfrence.
23 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
24 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
On a les appels de la fonction f : f(1); // correct et vaut f(1, "a", 0.0) f(1,"b"); // correct et vaut f(1, "b", 0.0) f(1,3.0); // incorrect f(1, , 3.0); // incorrect f(1,"b",3.0); // correct et vaut f(1, "b", 3.0)
24 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
25 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
main() { int i(10), j(55); echange(i,j); cout << "aprs change i=" << i << "et j=" << j << endl;
}
25 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
26 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
26 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
27 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
28 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
main() { int i(10), j(55); echange(&i,&j); cout << "aprs change i=" << i << "et j=" << j << endl;
}
28 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
29 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
main() { int i(10), j(55); echange(i,j); cout << "aprs change i=" << i << "et j=" << j << endl;
}
29 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Variable global/local
les variables dclares l'intrieur d'un bloc sont appeles variables locales (au bloc). Elles ne sont accessibles qu' l'intrieur du bloc. les variables dclares en dehors de tout bloc (mme du bloc main()) seront appeles variables globales (au programme). Elles sont accessibles dans l'ensemble du programme. Conseil : Ne jamais utiliser de variables globales (sauf peut tre pour certaines constantes). La porte d'une variable La porte d'une variable c'est l'ensemble des lignes de code o cette variable est accessible / est dnie / existe / a un sens.
31 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Exemple
33 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Pourquoi?
le dveloppement d'un logiciel cote plus chr que le matriel. le cot de ralisaion d'un logiciel se situe majoritairement dans les tches de spcication et de conception.
34 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Pourquoi?
le dveloppement d'un logiciel cote plus chr que le matriel. le cot de ralisaion d'un logiciel se situe majoritairement dans les tches de spcication et de conception.
1 2
diviser le travail en plusieurs quipes, crer des morceaux de programmes indpendants de la problmatique globale, donc rutilisables pour d'autres logiciels. supprimer les risques d'erreurs qu'on avait auparavant.
34 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Principes
Un projet d'une certaine envergure peut aller de 1000 lignes plus de 100 000 lignes. Le code est rparti entre plusieurs dizaines ou centaines de chiers. Approche modulaire : On spare le programme en modules, chaque module implmentant des fonctions sur un thme similaire et qui se traduiront physiquement par deux chiers :
1 un chier en-tte (on dit aussi de header) ayant l'extension .h et contenant le son prototype des fonctions principales implmentes dans ce module. 2 un ou plusieurs chiers source ayant l'extension .cc ou .cpp (.cc pour le langage C) contenant non seulement le corps des fonctions dclares dans le chier en-tte mais galement celui des fonctions intermdiaires ventuellement utilises. Ce chier inclut videmment le chier en-tte par le biais de la directive include . 35 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
36 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
37 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Construction de l'excutable
Le processus de gnration de l'excutable, se rsume comme suit : 1 on ne dispose que des chiers sources du programme, 2 traitement des chiers sources avant compilation, Dans le cas du C/C++, il s'agit des oprations eectues par le prprocesseur, 3 la compilation spare, qui est le fait de compiler sparment les chiers sources. Le rsultat de la compilation est gnralemnt un chier en assembleur. Les chiers en assembleur peuvent tre traduits directement en ce que l'on appelle des chiers objets. Les chiers objets contiennent la traduction du code assembleur en langage machine. 4 dition des liens (ou le linking), qui est le regroupement de toutes les donnes et de tout le code des chiers objets du programme et des bibliothques, ainsi que la ralisation des rfrences inter-chiers. Le rsultat de l'dition des liens est la gnration d'un chier image, appel le chier excutable.
38 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
39 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
40 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Il est recommand de toujours appliquer cette dernire rgle ds lors que vous crez un chier de header!
41 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
La compilation
Lorsqu'on compile un programme qui utilise plusieurs chiers, il faut donner le nom de tous les chiers utiliser et videmment un des chiers doit contenir une fonction main. Ceci doit se baser sur les principes suivants : 1 dterminer l'order dans lequel les chiers et les bibliothques doivent tre complis, 2 s'occuper de ne "reconstruire" (compiler) que ce qui a besoin de l'tre, 3 dterminer les dpendances entre les chiers sources et les chiers produits an de pouvoir gnrer correctement les chiers images (l'excutable). Ces trois points peuvent tre rsolus l'aide d'un programme appel make.
42 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Syntaxe de compilation
Pour le langage C :
g++ nom_c1.c nom_c2.c ... nom_cn.c -o nom_exec c++ nom_c1.c nom_c2.c ... nom_cn.c -o nom_exec
43 / 44
Chapitre I : Techniques de programmation C++ Porte des fonctions et des variables Programmation modulaire La compilation spare
Exemple de compilation
44 / 44