Sioud Aymen. (2006). Gestion de cycle de vie des objets par aspects pour C++. Mémoire de maîtrise, Université du Québec à Chicoutimi.
Prévisualisation |
PDF
2MB |
Résumé
Les langages tels Java, Simula, Eiffel, Modula III sont des langages orientés objet qui ont gagné leur popularité grâce à la sûreté du traitement des exceptions et à là politique de sécurité qu'ils utilisent, notamment pour la gestion mémoire. En effet, Meyer a placé la gestion automatique de la mémoire en troisième position dans les "sept commandements" de la programmation orientée objet. L'entité utilisée pour assurer la gestion automatique de la mémoire est appelée Garbage Collector ou ramasse-miettes. Certains langages comme C, C"1"1", Ada, Pascal et bien d'autres utilisent une libération explicite de la mémoire. L'avantage majeur de cette libération par rapport au Garbage Collector est sans doute l'emploi des pointeurs, outil très important permettant un accès direct à certaines zones mémoires et une utilisation plus optimale de l'espace mémoire.
Le C++ est l'un des langages de programmation les plus utilisés actuellement. Il est à la fois facile à utiliser et très efficace. Les caractéristiques du C++ en font un langage idéal pour certains types de projets. Il est incontournable dans la réalisation des grands programmes. Les optimisations des compilateurs actuels en font également un langage de prédilection pour ceux qui recherchent les performances. Puisqu'il est une extension de l'ANSI-C, C++ utilise une gestion explicite de la mémoire avec les delete, new, free et malloc. Pour Ellis et Stroustrup, la gestion de mémoire explicite via le Garbage Collector n'est pas une composante du langage C++. Nous proposons dans notre travail de recherche un outil assurant une gestion implicite de la mémoire basé sur la programmation aspect, notamment avec l'extension AspectC++ qui est un préprocesseur pour un compilateur C++ usuel. L'idée est d'implémenter via AspectC++ des compteurs de références pour les objets nouvellement créés. Il s'agit d'attribuer un compteur de références à un objet, d'incrémenter ce compteur chaque fois qu'un autre objet crée une référence vers le premier objet et de décrémenter ce compteur chaque fois qu'une référence est supprimée. L'objet sera détruit dès que son compteur associé sera à zéro.
Type de document: | Thèse ou mémoire de l'UQAC (Mémoire de maîtrise) |
---|---|
Date: | 2006 |
Lieu de publication: | Chicoutimi |
Programme d'étude: | Maîtrise en informatique |
Nombre de pages: | 94 |
ISBN: | 1412313546 |
Identifiant unique: | 10.1522/24696384 |
Sujets: | Sciences naturelles et génie > Sciences mathématiques > Informatique |
Département, module, service et unité de recherche: | Départements et modules > Département d'informatique et de mathématique > Programmes d'études de cycles supérieurs en informatique |
Directeur(s), Co-directeur(s) et responsable(s): | Gravel, Marc Mcheick, Hamid |
Mots-clés: | Programmation orientée objet (Informatique), Gestion mémoire (Informatique), THESE, OBJET, CYCLE, VIE, GESTION, C++, LANGAGE, PROGRAMMATION, INFORMATIQUE, ORDINATEUR, MEMOIRE |
Déposé le: | 01 janv. 2006 12:34 |
---|---|
Dernière modification: | 02 mars 2018 02:42 |
Éditer le document (administrateurs uniquement)