Chap 01-Présentation Du Langage C++

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 15

Université Mohamed Larbi Ben M’hidi, Oum El Bouaghi, Algérie

Faculté des sciences et des sciences appliquées


Département de génie électrique

Chapitre 01 :
Présentation du langage C++
Dr. MOUETSI Souheil
[email protected] / [email protected]

2020-2021
PLAN DE COURS
I. Généralités sur les Langage de programmation
1) Définition
2) Algorithme et programmation
II. Définition du langage C++
1) Qualités du C++
2) Du fichier source à l’exécutable
III. Environnement de développement en C++
1) Le compilateur C/C++
2) Les étapes de compilation
3) Préprocesseur

02/15/2021 Université OEB 2


I. Généralités sur les langages de programmation
1) Définition:
En informatique, un langage de programmation est une notation conventionnelle destinée à
formuler des algorithmes et produire des programmes informatiques qui les appliquent.
D'une manière similaire à une langue naturelle, un langage de programmation est composé
d'un alphabet, d'un vocabulaire, de règles de grammaire et de significations.

02/15/2021 Université OEB 3


2) Algorithme et programmation
Algorithme: méthode pour résoudre un problème
 Pour un problème donné, il peut y avoir plusieurs algorithmes. . . ou aucun !
 On cherche des algorithmes simples, efficaces, élégants. . .
Programme: . . . s’adresse à une machine !
Code source: c’est un texte qui représente les instructions de programme telles qu'elles ont été
écrites par un programmeur.
 Le code source se matérialise souvent sous la forme d'un ensemble de fichiers textes.
 Le code source est généralement écrit dans un langage de programmation permettant ainsi
une meilleure compréhension par des humains.
 Une fois le code source écrit, il permet de générer une représentation binaire d'une séquence
d'instructions (code binaire) exécutables par un microprocesseur.

02/15/2021 Université OEB 4


II.  Définition du langage C++
C++ est un langage de programmation compilé permettant la programmation sous de
multiples paradigmes (comme la programmation procédurale, orientée objet ou générique).
 Ses bonnes performances, et sa compatibilité avec le C en font un des langages de programmation les
plus utilisés dans les applications où la performance est critique.
 En langage C, ++ est l'opérateur d'incrémentation, c'est-à-dire l'augmentation de la valeur d'une variable
de 1. C'est pourquoi C++ porte ce nom : cela signifie que C++ est un niveau au-dessus de C.
 Le C++ est, contrairement aux préjugés, un langage bien différent du C : Ce n'est pas une surcouche de
celui-ci, contrairement à l'opinion de nombreux débutants. D'ailleurs, un code C ne compilera pas
forcément avec un compilateur C++
 Dans les années 80, Bjarne Stroustrup développa le C++ afin d’améliorer le C, en lui ajoutant des
‘classes’. Le premier nom de ce langage fut d’ailleurs ‘C with classes’.
 Ce fut en 1998 que le C++ fut normalisé ANSI/ISO pour la première fois. Une autre norme corrigée fut
30 /12/ 1950- adoptée en 2003 (C++03). Une mise à jour importante fut en 2011 (C++11), suivie de C++14 en 2014,
ajoutant de nombreuses fonctionnalités au langage. Depuis, des mises à jour sont publiées
régulièrement : en 2017 (C++17) puis en 2020 (C++ 20).
 Toutes ces normes permettent une écriture indépendante du compilateur. Le C++ est le même partout,
pourvu qu’on respecte ces normes. ANSI : American National Standard Institute
ISO : International Standard Organization
L'index TIOBE mesure la popularité des langages de programmation sur base du nombre de pages
web retournées par un moteur de recherche lorsqu'on lui soumet le nom du langage de programmation.
Il est mis à jour une fois par mois et donne l'historique depuis 2002. Le langage ayant la plus forte
croissance dans l'année est nommé « langage de l'année »

02/15/2021 Université OEB 6


1) Qualités du C++
Voici quelques qualités du C++ :
 Langage normalisé par l’ ANSI/ISO
 Il est très répandu. C’est un des langages de programmation les plus utilisés internationalement dans
l’industrie et la recherche. Il y a donc beaucoup de documentation sur Internet et de l’aide sur les
forums.
 Il est très rapide (en temps de calcul); En conséquence, il est très utilisé pour les jeux vidéo, les outils
financiers, les simulations numériques ...
 Il est portable, c’est-à-dire qu’un même code source peut être transformé rapidement en exécutable
sous Windows, Mac OS et Linux.
 Il existe de nombreuses bibliothèques pour le C++, ce dernier ne fournit que des outils bas-niveau mais
en le combinant avec de bonnes bibliothèques, on peut créer des programmes très puissants.
 Il est multi-paradigmes, c’est-à-dire qu’on peut programmer de différentes façons en C++. La plus
célèbre est la : Programmation Orientée Objet (POO). Cette technique permet de simplifier
l’organisation du code dans les programmes et de rendre facilement certains morceaux de codes
réutilisables.

02/15/2021 Université OEB 7


De très nombreux et célèbres logiciels sont écrits en C++, par exemple :
 l’interface utilisateur de l’iPod ,
 Microsoft Windows (système d’exploitation) ,
 Systèmes d'exploitation des consoles tels que la PS3 et la PS4 ,
 OpenOffice (couplé au Java) et Microsoft Office (suites d’applications bureautiques) ,
 Adobe Photoshop (traitement d’images) ,
 Mozilla Firefox, Opera et Google Chrome (navigateurs Web) ,
 Maya (modélisation en trois dimensions) ,
 KDE (environnement de bureau linux) ,
 Edge,
 Oracle,
 MySQL,
 ID Software,
 Blizzard,…

02/15/2021 Université OEB 8


2) Du fichier source à l’exécutable
La plupart des langages informatiques ne sont pas compréhensible directement par la machine.
Pour pouvoir utiliser le programme, l’exécuter, il faut soit le compiler soit l’interpréter.

1) Compilateur: traduire un fichier source, i.e. un fichier contenant le programme dans


un format humainement lisible entier une fois pour toutes.
◦ + plus rapide à l’exécution
◦ + sécurité du code source
◦ + Une fois créé l’exécutable, le compilateur n’est plus nécessaire au déroulement du programme.
◦ - il faut recompiler à chaque modification

2) Interpréteur: traduire au fur et à mesure les instructions du programme à chaque


exécution
◦ + exécution instantanée appréciable pour les débutants
◦ - exécution lente par rapport à la compilation
◦ - interpréteur est nécessaire chaque fois que l’on souhaite utiliser le programme.

02/15/2021 Université OEB 9


1
(Java, C++, C#, …)

2
(PUSH, MOV, ADD, DIV…)

1 2 3

02/15/2021 Université OEB 10


III. Environnement de développement en C++

1) Le compilateur C/C++ : est un programme dont le rôle est de transformer un code


du mode texte en un programme exécutable qui effectue des taches.
 Il faut :
1) Un éditeur de texte : pour écrire le code source du programme,
(EDI: Environnement de Développement Intégré)
(IDE: Integrated Development Environment)
2) Un compilateur: pour transformer (compiler) le code source en binaire,
3) Un debugger: pour aider à trouver les erreurs dans le code source.

02/15/2021 Université OEB 11


Sur le marché informatique, il existe une grande diversité de compilateurs C/C++
(implémentations) destinés à différents microprocesseurs ou microcontrôleurs, tel que:
 Turbo C++ de Borland (devenu Borland C++)

Exemple: BC 5…
 Visual C++ de Microsoft:
 Visual C++ Express:
 Il est une version allégée de EDI Visual Studio.
 Il existe à la base en version payante (chère !), mais il existe heureusement une version gratuite intitulée
Visual C++ Express
 ll est très complet et possède un puissant module de correction des erreurs (débogage).
 Il fonctionne sous Windows uniquement.
 sur Mac OS X uniquement.
Visual CXcode:
 GCC (GNU Compiler Collection) :
capable de compiler divers langages dont  C, C++,  Java, Ada et Fortran.

02/15/2021 Université OEB 12


 Dev-C++ , DevC++
• Il est simple à installer et à utiliser.
• Il est un EDI gratuit sous Windows.
• Il dispose de la coloration syntaxique et d'un débogueur intégré.

 Code::Blocks
Il a un IDE libre et gratuit, disponible pour Windows, Mac et Linux
• IDE intègre une coloration syntaxique automatique, qui met en évidence les mots clés du langage
concerné.
• Les numéros de ligne sont affichés dans la
marge, ce qui permet de repérer plus
facilement une ligne de code précise.

 Qt Creator
• Il est un environnement de développement intégré multiplateforme faisant partie du framework Qt. Il est
donc orienté pour la programmation en C++.
• Principalement utilisé pour développer des applications graphiques
(c'est-à-dire avec fenêtres, boutons, etc.) avec le framework Qt.

02/15/2021 Université OEB 13


2) Les étapes de compilation
Le C++ est un langage compilé : Le fichier source, écrit dans un fichier texte doit être traduit
dans le langage machine.

1. Le traitement par le préprocesseur : le fichier source est analysé par le préprocesseur qui
effectue des transformations textuelles dans le fichier source. (substitution de chaine de
caractère, prise en compte des directives de compilation et inclusion des autres fichiers
sources…)
2. La compilation : C’est la traduction du fichier généré par le préprocesseur en assembleur,
c’est-à-dire en une suite d’instruction du microprocesseur.
(en mnémonique rendant la lecture possible)
3. L’assemblage : Cette opération transforme le code assembleur en un fichier binaire
directement compréhensible par le processeur.
4. L’édition de liens : C’est la liaison de tous les fichiers objets utilisés par le programme
(source(s), librairies de fonctions standard ou autres…)
 Fichier EXECUTABLE

14
Université OEB 15

Vous aimerez peut-être aussi