私はグーグルからトピックを読んで、これを理解しています:
- Windows ローダーは、.net アプリの exe または dll を読み込みます。
- 次に、Windows ローダーはそのプロセスの clr を作成します。
- 次に、アプリケーションへのエントリ ポイントを見つけて呼び出します。
- しかし、その前に clr のクラス ローダー サービスが来て、Main メソッドを含むクラスをロードします。
- そして、jit コンパイルが行われます。
- clr は、gc、例外処理、クラスの読み込みなどのサービスをアプリに提供します。
私の質問は次のとおりです。
.net app clr を実行すると、エントリ ポイントが特定され、実行が開始されます。しかし遭遇すると
Class1 ob = new Class1();
その時、私たちのプロセスはクラスローダと呼ばれる CLR のサービスをどのように呼び出すのでしょうか? 同等の MSIL コードは、newobj が clr のクラス ローダー サービスを内部的に呼び出していますか?