共通言語ランタイム

共通言語ランタイム () とは、.NET Frameworkアプリケーションを実行するための仮想機械で、共通言語基盤 (CLI) のマイクロソフト自身による実装。

.NET Framework 1.x - 4.x で使用されている CLR は Windows 上のみで動作する。.NET CoreはMITライセンスのオープンソースになり、CoreCLRはWindows、macOS、Linux、FreeBSD で動作する。.NET 5以降は.NET Runtimeと呼ばれるようになり、.NET 6では実行環境としてAndroidやiOSのサポートも加わった。

CLRは、共通中間言語 (CIL) と呼ばれる、プログラミング言語や環境に依存しない中間言語（中間表現）を解釈する。CILは実行時にJITコンパイラによって機械語に変換され、実行される。.NET Framework 4.6 では64ビット版は RyuJIT という名称のJITコンパイラが搭載された。ただし.NET 4.6時点のRyuJITには多数の不具合があり、.NET 4.6.2にアップグレードするか、RyuJITを無効化する回避策が紹介されていた。RyuJITは.NET Coreでも利用されている。

そのほかのCLRの役割・機能には、メモリ管理（ガベージコレクション）、型とアセンブリの管理、スレッド管理、例外処理、セキュリティがある。

脚注

出典

関連項目 
 Java仮想マシン

.NET Framework
仮想機械