SlideShare une entreprise Scribd logo
1  sur  27
Introduction au langage C++
Introduction au langage C++ 
07/10/14 2 
But 
 Programmer une classe en C++ permettant de 
faire du calcul par intervalles 
 L’utiliser pour résoudre un problème de 
localisation « range only » (EX : plusieurs 
émetteurs et récepteurs radar qui tentent de 
localiser un cible)
Introduction au langage C++ 
07/10/14 3 
> Sommaire 
1. Introduction au langage C++ 
a) Présentation 
b) Hello World! 
c) Namespace 
d) Références 
e) Classes 
f) Constructeurs/destructeur et surcharge 
g) Liste d’initialisation 
h) Opérateurs 
i) Fonctions amies 
j) Héritage 
k) Classes abstraites 
l) Autres
Introduction au langage C++ 
07/10/14 4 
Introduction au langage C++
Introduction au langage C++ 
07/10/14 5 
Présentation 
 Le C est inclus (à 99%) dans le C++ 
 Le C++ rajoute des notions de programmation 
orientée objet (classe, héritage, 
polymorphisme… comme en Java), ainsi que 
des facilités d’écriture (surcharge 
d’opérateurs…)
Introduction au langage C++ 
07/10/14 6 
Hello World! 
Notion de namespace 
Opérateur
Introduction au langage C++ 
07/10/14 7 
Namespace 
Plus besoin d’utiliser std::
Introduction au langage C++ 
07/10/14 8 
Réfé rences 
Paramètre passé par référence
Introduction au langage C++ 
07/10/14 9 
Classes 
TestClass.cpp 
TestClass.h 
Main.cpp
Introduction au langage C++ 
07/10/14 10 
Constructeurs/Destructeur et 
surcharge 
TestClass.h TestClass.cpp
Introduction au langage C++ 
07/10/14 11 
Liste d’initialisation 
L’initialisation des membres 
dans le constructeur peut être 
faite de cette façon
Introduction au langage C++ 
07/10/14 12 
Opérateurs 
TestClass.cpp 
TestClass.h
Introduction au langage C++ 
07/10/14 13 
Opérateurs 
Résultat 
Main.cpp
Introduction au langage C++ 
07/10/14 14 
Fonctions amies 
TestClass.h
Introduction au langage C++ 
07/10/14 15 
Fonctions amies 
TestClass.cpp
Introduction au langage C++ 
07/10/14 16 
Fonctions amies 
Main.cpp
Introduction au langage C++ 
07/10/14 17 
Héritage 
Classe de base 
Classe dérivées 
Appel à un constructeur 
spécifique de la classe de base
Introduction au langage C++ 
07/10/14 18 
Classes abstraites 
Classe de base abstraite 
Classe dérivées
Introduction au langage C++ 
07/10/14 19 
Classes abstraites
Introduction au langage C++ 
07/10/14 20 
Autres apports du C++ par rapport au 
C 
 new, delete et new[], delete[] en C++ à la 
place de malloc() et free() en C pour utiliser 
des pointeurs et tableaux à taille variable 
 Mécanisme d’exceptions 
 Templates 
 Classes vector, list…
Introduction au langage C++ 
07/10/14 21 
Annexes
 Le C est inclus (à 99%) dans le C++ : quand 
on fait du C, on fait aussi du C++ mais 
l’inverse n’est pas forcément vrai 
 Du code C ou C++ peut être é crit dans un 
fichier .cpp mais seul du code C peut être écrit 
dans un fichier .c 
 Dans un .h, on peut écrire du C ou du C++, 
mais il faut que les .c n’incluent que des .h 
avec du C 
Introduction au langage C++ 
07/10/14 22
Introduction au langage C++ 
07/10/14 23 
 Différences entre les compilateurs Windows et Linux 
– Linux 
• Le compilateur C le plus utilisé est GCC 
• Son équivalent C++ est G++ 
– Windows 
• GCC/G++ existent avec Cygwin et MinGW 
• Différents IDE existent et fournissent leurs propres compilateurs 
– Microsoft Visual Studio avec CL 
– Borland C++ Builder / Turbo C++ / Borland Developper 
Studio avec BCC32 
– Code Blocks / Dev-C++ avec MinGW
 Différences entre les compilateurs Windows et Linux 
Introduction au langage C++ 
07/10/14 24 
Equivalences Linux / Windows 
Linux/GCC Windows/Visual C++ 
Fichiers objets .o .obj 
Bibliothèque statique 
.a .lib 
Bibliothèque dynamique 
.so .dll 
Exécutable - .exe
Introduction au langage C++ 
07/10/14 25 
 Utilisation de bibliothèques de fonctions 
externes 
Fichiers .c/.cpp 
Fichiers .obj 
Fichier .exe 
Fichier .lib 
Fichier .dll 
Compilation 
Est utilisée 
Edition des liens 
Edition des liens 
Regroupement 
Edition des liens
Introduction au langage C++ 
07/10/14 26 
 Utilisation de bibliothèques de fonctions externes 
– Cas où on possède des fichiers .h et .c/.cpp 
• Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans Lib.h 
et définies dans Lib.cpp 
– On met #include « Lib.h » dans Main.cpp 
– On copie Lib.h et Lib.cpp dans le dossier de Main.cpp 
– On compile et lie Lib.cpp et Main.cpp en les ajoutant au 
projet
Introduction au langage C++ 
07/10/14 27 
 Utilisation de bibliothèques de fonctions externes 
– Cas où on possède des fichiers .h, .lib et .dll 
• Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans 
Lib.h et définies dans Lib.lib et Lib.dll 
– On met #include « Lib.h » dans Main.cpp 
– On ajoute le dossier de Lib.h dans les chemins de 
recherche de fichiers .h du projet 
– On ajoute le dossier de Lib.lib dans les chemins de 
recherche de fichiers .lib du projet 
– On compile Main.cpp et lie avec Lib.lib en les ajoutant 
au projet 
– On ajoute le dossier de Lib.dll à la variable 
d’environnement PATH du système

Contenu connexe

En vedette

Initiation au C++
Initiation au C++Initiation au C++
Initiation au C++IsenDev
 
569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signalOussema Ben Khlifa
 
Lamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleLamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleAsmae Lamini
 
chap1 generalites_signaux-systemes
chap1 generalites_signaux-systemeschap1 generalites_signaux-systemes
chap1 generalites_signaux-systemesBAKKOURY Jamila
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signauxBAKKOURY Jamila
 
Henri de Toulouse lautrec présentation
Henri de Toulouse lautrec présentationHenri de Toulouse lautrec présentation
Henri de Toulouse lautrec présentationjujubibioscoop
 
Modl2 rap pfe_esti
Modl2 rap pfe_estiModl2 rap pfe_esti
Modl2 rap pfe_estikarousn
 
CARLIN Fashionshow report-printemps-ete-16-blog--bd
CARLIN Fashionshow report-printemps-ete-16-blog--bdCARLIN Fashionshow report-printemps-ete-16-blog--bd
CARLIN Fashionshow report-printemps-ete-16-blog--bdPauline Chloé Bnfs
 
Anexo 2 listado hoteles montería y ciudades aledañas-Eliana Santos
Anexo 2  listado hoteles montería y ciudades aledañas-Eliana SantosAnexo 2  listado hoteles montería y ciudades aledañas-Eliana Santos
Anexo 2 listado hoteles montería y ciudades aledañas-Eliana SantosEliana Santos
 
CVézina - 2015 CACHC Conference Presentation
CVézina  - 2015 CACHC Conference PresentationCVézina  - 2015 CACHC Conference Presentation
CVézina - 2015 CACHC Conference Presentationcachc
 
Conciliacion:una herramienta para la igualdad
Conciliacion:una herramienta para la igualdadConciliacion:una herramienta para la igualdad
Conciliacion:una herramienta para la igualdadmiquel loriz
 
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'Assistance
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'AssistanceAssistance publique-Hôpitaux de Paris : Ajouter la performance à l'Assistance
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'AssistanceFondation iFRAP
 
Quebec Pmbcp And Gaks
Quebec Pmbcp And GaksQuebec Pmbcp And Gaks
Quebec Pmbcp And GaksKSevigny
 
iFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceiFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceFondation iFRAP
 

En vedette (20)

Initiation au C++
Initiation au C++Initiation au C++
Initiation au C++
 
Carine.Courtillot
Carine.CourtillotCarine.Courtillot
Carine.Courtillot
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal
 
Lamini&farsane traitement de_signale
Lamini&farsane traitement de_signaleLamini&farsane traitement de_signale
Lamini&farsane traitement de_signale
 
chap1 generalites_signaux-systemes
chap1 generalites_signaux-systemeschap1 generalites_signaux-systemes
chap1 generalites_signaux-systemes
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
 
Eltuteo
EltuteoEltuteo
Eltuteo
 
Henri de Toulouse lautrec présentation
Henri de Toulouse lautrec présentationHenri de Toulouse lautrec présentation
Henri de Toulouse lautrec présentation
 
Les Leaders Remarquables
Les Leaders RemarquablesLes Leaders Remarquables
Les Leaders Remarquables
 
Modl2 rap pfe_esti
Modl2 rap pfe_estiModl2 rap pfe_esti
Modl2 rap pfe_esti
 
CARLIN Fashionshow report-printemps-ete-16-blog--bd
CARLIN Fashionshow report-printemps-ete-16-blog--bdCARLIN Fashionshow report-printemps-ete-16-blog--bd
CARLIN Fashionshow report-printemps-ete-16-blog--bd
 
Anexo 2 listado hoteles montería y ciudades aledañas-Eliana Santos
Anexo 2  listado hoteles montería y ciudades aledañas-Eliana SantosAnexo 2  listado hoteles montería y ciudades aledañas-Eliana Santos
Anexo 2 listado hoteles montería y ciudades aledañas-Eliana Santos
 
Journal spécial sirha 2015
Journal spécial sirha 2015Journal spécial sirha 2015
Journal spécial sirha 2015
 
CVézina - 2015 CACHC Conference Presentation
CVézina  - 2015 CACHC Conference PresentationCVézina  - 2015 CACHC Conference Presentation
CVézina - 2015 CACHC Conference Presentation
 
Mix09
Mix09Mix09
Mix09
 
Conciliacion:una herramienta para la igualdad
Conciliacion:una herramienta para la igualdadConciliacion:una herramienta para la igualdad
Conciliacion:una herramienta para la igualdad
 
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'Assistance
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'AssistanceAssistance publique-Hôpitaux de Paris : Ajouter la performance à l'Assistance
Assistance publique-Hôpitaux de Paris : Ajouter la performance à l'Assistance
 
Quebec Pmbcp And Gaks
Quebec Pmbcp And GaksQuebec Pmbcp And Gaks
Quebec Pmbcp And Gaks
 
iFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceiFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la France
 

Similaire à Intro c++

Intro C++
Intro C++Intro C++
Intro C++slime15
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxLuneSabsPericolo1
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteFabrice JEAN-FRANCOIS
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdfAboubacarDiarra10
 
C Plus Plus demo
C Plus Plus demoC Plus Plus demo
C Plus Plus demopadnot
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Sylvain Leroy
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharpSDFG5
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Parischristophep21
 
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Microsoft
 

Similaire à Intro c++ (20)

Intro C++
Intro C++Intro C++
Intro C++
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 
C#
C#C#
C#
 
De Java à .NET
De Java à .NETDe Java à .NET
De Java à .NET
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
cours1.ppt
cours1.pptcours1.ppt
cours1.ppt
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
 
C Plus Plus demo
C Plus Plus demoC Plus Plus demo
C Plus Plus demo
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharp
 
Ch02
Ch02Ch02
Ch02
 
Langage C
Langage CLangage C
Langage C
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
 
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 

Dernier

COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 

Dernier (10)

Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 

Intro c++

  • 2. Introduction au langage C++ 07/10/14 2 But  Programmer une classe en C++ permettant de faire du calcul par intervalles  L’utiliser pour résoudre un problème de localisation « range only » (EX : plusieurs émetteurs et récepteurs radar qui tentent de localiser un cible)
  • 3. Introduction au langage C++ 07/10/14 3 > Sommaire 1. Introduction au langage C++ a) Présentation b) Hello World! c) Namespace d) Références e) Classes f) Constructeurs/destructeur et surcharge g) Liste d’initialisation h) Opérateurs i) Fonctions amies j) Héritage k) Classes abstraites l) Autres
  • 4. Introduction au langage C++ 07/10/14 4 Introduction au langage C++
  • 5. Introduction au langage C++ 07/10/14 5 Présentation  Le C est inclus (à 99%) dans le C++  Le C++ rajoute des notions de programmation orientée objet (classe, héritage, polymorphisme… comme en Java), ainsi que des facilités d’écriture (surcharge d’opérateurs…)
  • 6. Introduction au langage C++ 07/10/14 6 Hello World! Notion de namespace Opérateur
  • 7. Introduction au langage C++ 07/10/14 7 Namespace Plus besoin d’utiliser std::
  • 8. Introduction au langage C++ 07/10/14 8 Réfé rences Paramètre passé par référence
  • 9. Introduction au langage C++ 07/10/14 9 Classes TestClass.cpp TestClass.h Main.cpp
  • 10. Introduction au langage C++ 07/10/14 10 Constructeurs/Destructeur et surcharge TestClass.h TestClass.cpp
  • 11. Introduction au langage C++ 07/10/14 11 Liste d’initialisation L’initialisation des membres dans le constructeur peut être faite de cette façon
  • 12. Introduction au langage C++ 07/10/14 12 Opérateurs TestClass.cpp TestClass.h
  • 13. Introduction au langage C++ 07/10/14 13 Opérateurs Résultat Main.cpp
  • 14. Introduction au langage C++ 07/10/14 14 Fonctions amies TestClass.h
  • 15. Introduction au langage C++ 07/10/14 15 Fonctions amies TestClass.cpp
  • 16. Introduction au langage C++ 07/10/14 16 Fonctions amies Main.cpp
  • 17. Introduction au langage C++ 07/10/14 17 Héritage Classe de base Classe dérivées Appel à un constructeur spécifique de la classe de base
  • 18. Introduction au langage C++ 07/10/14 18 Classes abstraites Classe de base abstraite Classe dérivées
  • 19. Introduction au langage C++ 07/10/14 19 Classes abstraites
  • 20. Introduction au langage C++ 07/10/14 20 Autres apports du C++ par rapport au C  new, delete et new[], delete[] en C++ à la place de malloc() et free() en C pour utiliser des pointeurs et tableaux à taille variable  Mécanisme d’exceptions  Templates  Classes vector, list…
  • 21. Introduction au langage C++ 07/10/14 21 Annexes
  • 22.  Le C est inclus (à 99%) dans le C++ : quand on fait du C, on fait aussi du C++ mais l’inverse n’est pas forcément vrai  Du code C ou C++ peut être é crit dans un fichier .cpp mais seul du code C peut être écrit dans un fichier .c  Dans un .h, on peut écrire du C ou du C++, mais il faut que les .c n’incluent que des .h avec du C Introduction au langage C++ 07/10/14 22
  • 23. Introduction au langage C++ 07/10/14 23  Différences entre les compilateurs Windows et Linux – Linux • Le compilateur C le plus utilisé est GCC • Son équivalent C++ est G++ – Windows • GCC/G++ existent avec Cygwin et MinGW • Différents IDE existent et fournissent leurs propres compilateurs – Microsoft Visual Studio avec CL – Borland C++ Builder / Turbo C++ / Borland Developper Studio avec BCC32 – Code Blocks / Dev-C++ avec MinGW
  • 24.  Différences entre les compilateurs Windows et Linux Introduction au langage C++ 07/10/14 24 Equivalences Linux / Windows Linux/GCC Windows/Visual C++ Fichiers objets .o .obj Bibliothèque statique .a .lib Bibliothèque dynamique .so .dll Exécutable - .exe
  • 25. Introduction au langage C++ 07/10/14 25  Utilisation de bibliothèques de fonctions externes Fichiers .c/.cpp Fichiers .obj Fichier .exe Fichier .lib Fichier .dll Compilation Est utilisée Edition des liens Edition des liens Regroupement Edition des liens
  • 26. Introduction au langage C++ 07/10/14 26  Utilisation de bibliothèques de fonctions externes – Cas où on possède des fichiers .h et .c/.cpp • Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans Lib.h et définies dans Lib.cpp – On met #include « Lib.h » dans Main.cpp – On copie Lib.h et Lib.cpp dans le dossier de Main.cpp – On compile et lie Lib.cpp et Main.cpp en les ajoutant au projet
  • 27. Introduction au langage C++ 07/10/14 27  Utilisation de bibliothèques de fonctions externes – Cas où on possède des fichiers .h, .lib et .dll • Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans Lib.h et définies dans Lib.lib et Lib.dll – On met #include « Lib.h » dans Main.cpp – On ajoute le dossier de Lib.h dans les chemins de recherche de fichiers .h du projet – On ajoute le dossier de Lib.lib dans les chemins de recherche de fichiers .lib du projet – On compile Main.cpp et lie avec Lib.lib en les ajoutant au projet – On ajoute le dossier de Lib.dll à la variable d’environnement PATH du système