Partager via


Exécution de code

Le Common Language Runtime fournit l'infrastructure qui permet à l'exécution managée de se dérouler ainsi que divers services pouvant être utilisés pendant l'exécution. Pour qu'une méthode puisse être exécutée, elle doit d'abord être compilée en un code spécifique au processeur. Chaque méthode pour laquelle un langage MSIL (Microsoft Intermediate Language) a été généré est traitée par le compilateur JIT lorsqu'elle est appelée la première fois, puis exécutée. Lorsque la méthode est exécutée la fois suivante, le code natif existant traité par le compilateur JIT est exécuté. Le processus de compilation JIT puis d'exécution du code est répété jusqu'à ce que l'exécution soit complètement terminée.

Pendant l'exécution, le code managé bénéficie de services tels que le garbage collection, la sécurité, l'interopérabilité avec le code non managé, la prise en charge du débogage interlangage ainsi que la prise en charge améliorée du déploiement et du versioning.

Dans Microsoft Windows XP, le chargeur du système d'exploitation recherche des modules managés en examinant un bit dans l'en-tête du format COFF (Common Object File Format). Le bit défini indique un module managé. Si le chargeur détecte des modules managés, il charge mscoree.dll et _CorValidateImage ainsi que _CorImageUnloading avertissent le chargeur lorsque les images des modules managés sont chargées et déchargées. _CorValidateImage effectue les actions suivantes :

  1. Elle garantit que le code est du code managé valide.

  2. Elle change le point d'entrée dans l'image en un point d'entrée dans le runtime.

Sous Windows 64 bits, _CorValidateImage modifie l'image en mémoire en la transformant du format PE32 au format PE32+.

Voir aussi

Concepts

Processus d'exécution managée

Autres ressources

Sécurité dans le .NET Framework
Interopération avec du code non managé
Déploiement d'applications .NET Framework