Freigeben über


Ausführen von Code

Aktualisiert: November 2007

Die Common Language Runtime stellt eine Infrastruktur bereit, die die verwaltete Ausführung sowie eine Reihe von Diensten ermöglicht, die während der Ausführung verwendet werden können. Vor Ausführung einer Methode muss diese in prozessorspezifischen Code kompiliert werden. Jede Methode, für die MSIL (Microsoft Intermediate Language) generiert wurde, wird beim ersten Aufruf JIT-kompiliert (Just-In-Time) und anschließend ausgeführt. Beim nächsten Ausführen der Methode wird der vorhandene JIT-kompilierte, systemeigene Code ausgeführt. Das JIT-Kompilieren und anschließende Ausführen des Codes wird so lange wiederholt, bis die Ausführung vollständig abgeschlossen ist.

Verwaltetem Code stehen während der Ausführung verschiedene Dienste zur Verfügung, z. B. Garbage Collection, Sicherheit, Interoperabilität mit nicht verwaltetem Code, sprachübergreifende Debugunterstützung sowie verbesserte Unterstützung der Bereitstellung und Versionserstellung.

Unter Microsoft Windows XP und Windows Vista sucht das Ladeprogramm des Betriebssystems nach verwalteten Modulen, indem ein Bit im Header des COFF (Common Object File Format) überprüft wird. Das festgelegte Bit steht dabei für ein verwaltetes Modul. Wenn das Ladeprogramm verwaltete Module erkennt, lädt es mscoree.dll. _CorValidateImage und _CorImageUnloading benachrichtigen das Ladeprogramm, wenn die Images der verwalteten Module geladen und entladen werden. _CorValidateImage führt folgende Aktionen aus:

  1. Überprüfen, dass es sich um gültigen verwalteten Code handelt

  2. Ändern des Einstiegspunktes im Image in einen Einstiegspunkt zur Laufzeit

Bei 64-Bit-Versionen von Windows ändert _CorValidateImage das Image im Arbeitsspeicher vom Format PE32 in das Format PE32+.

Siehe auch

Konzepte

Der verwaltete Ausführungsprozess

Weitere Ressourcen

Sicherheit in .NET Framework

Interaktion mit nicht verwaltetem Code

Bereitstellen von .NET Framework-Anwendungen