CLR 【Common Language Runtime】 共通言語ランタイム

概要

CLR(Common Language Runtime)とは、米マイクロソフト(Microsoft)社がWindowsプログラム実行環境などとして推進している.NET(ドットネット)で、対応プログラム実行するための動作環境のこと。同社の.NET Frameworkなどが該当する。

.NET対応のソフトウェアは、様々なプログラミング言語で書かれたソースコードから、いったん共通中間言語CILCommon Intermediate Language)による形式に変換されて利用者のもとに配布される。CILのみで構成され、特定の機種やOSなどに依存するコードを含まないプログラムを「マネージドコード」(managed code)という。

CIL形式のプログラムを解釈し、コンピュータが直に実行可能な機械語によるプログラムに変換して実行するソフトウェアがCLRである。利用者は自らのコンピュータOSに対応したCLRを用意しておけば、.NET向けソフトウェアを利用することができる。

CLRは一種の仮想マシンVMVirtual Machine)を中核とするシステムで、CILプログラム実行時コンパイルJITコンパイル)して起動する。例外処理ガーベジコレクションスレッド管理などの機能を提供する。通常は.NETの標準クラスライブラリ(BCL:Base Class Library)やアプリケーションフレームワーク(ASP.NETWPFなど)と同梱されて.NET実装として提供される。

CLI (Common Language Infrastructure/共通言語基盤)

マイクロソフトMicrosoft)社が推進する.NET実行環境(CLR)および対応プログラムの記述言語(CIL)の標準仕様を定めた規格。同社による実装.NET Frameworkという。

機種やOS依存しないプログラム開発実行環境実装するために必要な諸技術の仕様を定めている。.NETプログラムの配布形式であるCILCommon Intermediate Language/共通中間言語/MSIL/IL)の仕様と、開発に用いるプログラミング言語に求められる共通仕様、実行環境(CLR)が実装すべき仕様を定めている。

.NET対応プログラミング言語間で共通して利用されるデータ型の仕様を定めたCTSCommon Type System/共通型システム)、実行プログラム内にコードについての情報を埋め込むメタデータの形式、対応プログラミング言語に要求される共通仕様CLS(Common Language Specification/共通言語仕様)、CILプログラムネイティブコードに変換して実行するVES(Virtual Execution System/仮想実行システム)の仕様などが含まれる。

CLR規格は同社が提出した標準案をもとに2001年に当時のEMCA(現Ecma International)によってEMCA-335として標準化され、2003年に同様の内容がISO/IEC 23271として国際標準となった。日本では2006年に同規格を翻訳したJIS X 3016が策定されている。

(2018.7.27更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる