Table des matières:
- Définition - Que signifie le langage intermédiaire (IL)?
- Techopedia explique le langage intermédiaire (IL)
Définition - Que signifie le langage intermédiaire (IL)?
Le langage intermédiaire (IL) est un langage de programmation orienté objet conçu pour être utilisé par les compilateurs pour le .NET Framework avant la compilation statique ou dynamique du code machine. L'IL est utilisé par le .NET Framework pour générer du code indépendant de la machine en tant que sortie de la compilation du code source écrit dans n'importe quel langage de programmation .NET.
IL est un langage d'assemblage basé sur la pile qui est converti en bytecode lors de l'exécution d'une machine virtuelle. Il est défini par la spécification Common Language Infrastructure (CLI). Comme IL est utilisé pour la génération automatique de code compilé, il n'est pas nécessaire d'apprendre sa syntaxe.
Ce terme est également connu sous le nom de langage intermédiaire Microsoft (MSIL) ou langage intermédiaire commun (CIL).
Techopedia explique le langage intermédiaire (IL)
À l'aide d'un compilateur JIT (juste à temps) approprié, le code IL peut être exécuté sur n'importe quelle architecture d'ordinateur prise en charge par le compilateur JIT. Contrairement aux interprètes, la compilation JIT offre de meilleures performances, préserve la mémoire et fait gagner du temps lors de l'initialisation de l'application. IL active la fonctionnalité indépendante de la plate-forme et du processeur du framework .NET, en permettant au code source compilé d'être exécuté dans n'importe quel environnement prenant en charge la spécification CLI.
La vérification de la sécurité du code, pour le code IL, offre une meilleure sécurité et fiabilité que les fichiers exécutables compilés en mode natif. Les métadonnées, décrivant le code MSIL dans l'exécutable portable, éliminent le besoin de bibliothèques de types et de fichiers de langage de définition intermédiaire comme cela était utilisé dans la technologie COM (Component Object Model). Combiné avec des métadonnées et un système de type commun, IL constitue le moyen d'intégrer des modules écrits dans différentes langues dans une seule application, permettant ainsi l'indépendance du langage.
Bien qu'IL soit similaire au bytecode Java dans son utilisation par les compilateurs, il diffère de ce dernier en ce qu'il est conçu pour l'indépendance de la plate-forme et l'indépendance du langage. Il diffère également en ce qu'il est compilé et non interprété.
IL contient deux types de jeux d'instructions; instructions de base, similaires aux instructions CPU natives et aux instructions de modèle objet utilisées par le langage de haut niveau. IL comprend toutes les instructions nécessaires pour charger, stocker, initialiser et appeler des méthodes sur des objets. Il comprend également les opérations arithmétiques et logiques, le flux de contrôle, l'accès direct à la mémoire, la gestion des exceptions et d'autres opérations. Contrairement au format de fichier objet commun utilisé pour le contenu exécutable dans l'exécutable portable Microsoft traditionnel, l'exécutable portable généré, après la compilation du code managé, contient à la fois des instructions IL et des métadonnées.
Les deux outils associés au code IL sont le MSIL Assembler (Ilasm.exe) et le MSIL Disassemble (Ildasm.exe). Le premier génère un fichier exécutable portable à partir du code IL et permet de visualiser le code IL dans un format lisible par l'homme, tandis que le second convertit un fichier exécutable portable en un fichier texte, pour visualisation et modification. Les deux sont automatiquement installés dans le cadre de Visual Studio.
