pdf |
Le C++.NET des environnements VISUAL STUDIO
|
Le C++.NET est un langage de programmation objet (le C++ Managé) utilisant une bibliothèque propre aux outils Microsoft Visual Studio. Il permet, notamment, de développer des interfaces Windows. |
1- Du langage C au langage C++
Le langage C est un langage procédural ou algorithmique, qui s’exécute séquentiellement :
- Le langage C est basé sur une séparation des données (variables et constantes) et des traitements (instructions).
- Un programme en langage C s’exécute dans une fenêtre DOS et dans un ordre séquentiel connu à l’avance : il se déroule instruction par instruction, en commençant au début de la fonction main(). Si un appel à une fonction ou procédure est rencontré, le programme entre dans le sous-programme correspondant à l’appel et exécute de nouveau séquentiellement les instructions rencontrées ; ensuite, il revient à l’instruction suivant l’appel rencontré.
Le langage C++ a été inventé après le langage C.
Le langage C++ est un langage objet, qui s’exécute essentiellement de façon évènementielle :
- Le langage C++ est basé sur une intégration des données (variables et constantes) et des traitements (instructions des fonctions) dans des objets.
- L’aspect et le comportement d’un objet peuvent être changés (ex. : une gomme peut être rouge ou bleue) et un objet peut réaliser des tâches spécifiques(ex. : une gomme peut effacer).
- Les classes vont alors définir les modèles des objets (un peu comme un type caractérise une donnée). La programmation en C++ est alors plus intuitive : elle est basée sur une conception "orientée objet".
- Un programme en langage C++ s’exécute sous Windows dans un ordre qui dépend de l’arrivée d’évènements (par exemple d’actions de l’utilisateur du programme). Il existe toujours un point d’entrée dans le programme, la fonction WinMain(), qui correspond au début de l’exécution de l’application. Ensuite, le programme attend l’arrivée d’un évènement, auquel il réagit par l’exécution d’une fonction particulière (un gestionnaire d’évènement). L’exécution d’un programme en C++ n’est donc plus uniquement séquentielle à partir du point d’entrée et dans un ordre préétabli par le programmeur. Elle dépend des évènements qui vont agir sur l’application développée.
2- Le langage C++.NET des environnements de developpement Visual Studio
Le langage C++.NET est un langage objet managé, basée sur le framework (plateforme) .NET propriétaire de Microsoft :
- Le langage C++.NET est aussi appelé C++ managé, C++ géré ou MC++. Il s’agit d’un C++ respectant les spécifications CLI (Common Language Infrastructure). Il est aussi question de C++/CLI.
- Le C++.NET manipule des objets managés. Ces objets sont stockés dans une partie spécifique de la RAM réservée au framework .NET et sont en partie gérés par le système : le garbage collector (ramasse miette mémoire) les détruit automatiquement lorsqu’ils ne sont plus utilisés. Le programmeur n’a plus à se soucier de libérer la mémoire, de nombreuses erreurs mémoires sont ainsi évitées.
- Un objet managé est manipulé par son handle. C’est un identifiant qui permet de désigner l’objet de façon unique, de le référencer.
- Le C++ pour l’infrastructure .NET (ou dot NET) se développe sous un environnement de développement Microsoft : Visual Studio.NET (2005, 2008...). Visual Studio 2005 utilise la plateforme .NET 2.0, c’est une bibiothèque composée de différents namespace (espaces de noms).
- La technologie .NET s’applique à des projets en C++, C#, VB, J#... Ce qui implique que les mêmes bibliothèques sont utilisées dans ces différents langages, ce qui change, c’est la syntaxe du langage utilisant ces bibliothèques.
- Un des namespace permet de gérer des composants et donc de créer avec la souris des application Windows fenêtrées (ou interfaces graphiques utilisateurs : G.U.I.) Le programmeur placent les composants sur l’interface, peut modifier leurs propriétés et utiliser leurs fonctionnalités particulières, dont, en particulier, leur capacité à réagir à certains évènements lors de l’utilisation de l’interface.
D’autres environnements de programmation permettent de développer des applications Windows avec interface et programmation évènementielle (il est question de R.A.D., développement rapide d’applications), notamment :
- DELPHI (Borland – Inprise), le langage de programmation est la Pascal Objet ;
- C++ BUILDER (Borland – Inprise), le langage de programmation est du C++.