次の方法で共有


コードの実行

更新 : 2007 年 11 月

共通言語ランタイムは、実行時に使用できるさまざまなサービスに加えて、マネージ実行のためのインフラストラクチャも提供します。メソッドは、実行する前にプロセッサ固有のコードにコンパイルされている必要があります。対応する MSIL (Microsoft Intermediate Language) が生成されているメソッドは、初めて呼び出されたときに JIT コンパイル (Just-In-Time コンパイル) されてから実行されます。次にこのメソッドが実行されるときには、JIT コンパイル済みの既存のネイティブ コードが実行されます。JIT コンパイルからコード実行までのプロセスは、実行が完了するまで繰り返されます。

実行時に、マネージ コードは、ガベージ コレクション、セキュリティ、アンマネージ コードとの相互運用性、言語間デバッグ サポート、強化された配置とバージョン管理のサポートなどのさまざまなサービスを利用できます。

Microsoft Windows XP および Windows Vista では、オペレーティング システム ローダーが COFF (Common Object File Format) ヘッダー内のビットを調べることにより、マネージ モジュールをチェックします。設定されたビットはマネージ モジュールを意味します。ローダーがマネージ モジュールを検出すると、mscoree.dll が読み込まれます。マネージ モジュール イメージが読み込まれるときとアンロードされるときには、_CorValidateImage および _CorImageUnloading がローダーに通知します。_CorValidateImage は、次のアクションを実行します。

  1. コードが有効なマネージ コードであることを確認します。

  2. イメージのエントリ ポイントをランタイムのエントリ ポイントに変更します。

64 ビット Windows では、_CorValidateImage は、メモリ内のイメージを PE32 から PE32+ 形式に変換することによって変更します。

参照

概念

マネージ実行プロセス

その他の技術情報

.NET Framework におけるセキュリティ

アンマネージ コードとの相互運用

.NET Framework アプリケーションの配置