LES COMPILATEURS ET LE DECOMPILATEUR DE PROGRAMME

Par Le 28/03/2022 à 01:29 0

les compilateurs et le décompilateur

Compilateur

dans cette article, nous  vous expliquons ce que c’est qu’un compilateur et son opposé le décompilateur, leur  fonctionnement et nous présentons quelques exemples de compilateurs

compilateur-decompilateur

Pour commencer,  Un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine.

    Rôle d'un compilateur

La tâche principale d'un compilateur est de produire un code objet correct qui s'exécutera sur un ordinateur. La plupart des compilateurs permettent d'optimiser le code, c'est-à-dire qu'ils vont chercher à améliorer la vitesse d'exécution, ou réduire l'occupation mémoire du programme

 

LE DECOMPILATEUR : c'est un programme qui  traduit un langage de bas niveau vers un langage de plus haut niveau

C’est  un outil servant à reconstituer, partiellement ou totalement, le code source d’un logiciel à partir d’un programme exécutable alors dans un format binaire.

La décompilation est une technique de rétro-ingénierie. Elle peut servir au portage et à l'adaptation d'une application dont le code source n'est pas disponible, à la traduction, à l'analyse et la vérification du fonctionnement d'un programme, et encore au débogage du programme.

Le principe du décompilateur est donc d'étudier ou tester le fonctionnement de ce logiciel afin de déterminer les idées et principes qui sont à la base de n'importe quel élément du logiciel lorsqu'on effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du logiciel.

Les logiciels dont le code source est disponible ne nécessitent pas l'utilisation d'un décompilateur.

Pour la plupart des langages de programmation, il est cependant possible de retrouver un certain nombre d'informations sur le code source initial à partir du code compilé. La décompilation est un outil assisté d'aide à la rétro-ingénierie. Un décompilateur fonctionnant de manière entièrement automatique n'est pas réalisable.

La décompilation est généralement explicitement non autorisée par la licence d'utilisation de certains logiciels propriétaires. Elle est parfois interdite par des lois, dans certains pays. Dans certains cas, le recours à la rétro- ingénierie est autorisé dans un but d'interopérabilité.

Quelque  compilateur :

GCC : c’est un  compilateur  utilisé dans la compilation de programmes écrites en  langages C et C++, mais également Java ou encore Ada.

Clang : est un front-end pour les langages de la famille du C, utilisant le back-end LLVM

Javac: le compilateur Java le plus répandu

GHC: un compilateur pour Haskell,utiliser dans la programmation fonctionnelle

De nombreux autres compilateurs existent, pour les mêmes langages et pour d'autres egalement.

 

voir aussi:

 

compilateur decompilateur programmation programme fonctionnelle javascript language langage classement analyse comparaison gcc clang ghc javac

  • 2 votes. Moyenne 5 sur 5.

Ajouter un commentaire

Anti-spam