Bonjour
Comment font les compilateurs pour traduire un langage orienté objet en assembleur ?
Comment traduire les classes , les interfaces, l'héritage, l'encapsulation...
Merci
Bonjour
Comment font les compilateurs pour traduire un langage orienté objet en assembleur ?
Comment traduire les classes , les interfaces, l'héritage, l'encapsulation...
Merci
De la même façon qu'un langage non orienté objet.
C'est juste une abstraction supplémentaire.
Une classe, en terme de programmation, c'est un regroupement de fonctions et de variables. Si une classe hérite d'une autre, elle a accès aux fonctions et variables de la classe parente.
En caricaturant, en C, en pourrait refaire le fonctionnement du C++ en faisant accès aux différentes entités par des pointeurs, mécanisme qui nécessite un bon niveau en C. Exemple, si une classe surcharge une fonction d'une classe héritée, en C ça peut se traduire par une modification du pointeur d'accès à la fonction.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Ou avec un gcc (enfin g++ ici) -S , tu verra le code assembleur fourni (mais comme l'a dit chrtophe ça reste des fonctions et des variables mais avec plus d'abstraction).
La POO ce n'est qu'un paradigme , il ne faut pas l'oublier
C'est un sujet très intéressant. Une chose qui aide beaucoup, c'est de faire des petits programmes en C ou en C++ et de, lors de la compilation, sortir un fichier assembleur (en désactivant les optimisations). Cela permet de comprendre beaucoup de choses.
Notamment, lorsque j'ai voulu comprendre comment les méthodes virtuelles fonctionnent "côté coulisses", l'analyse de codes assembleur m'a beaucoup éclairé.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager