共通言語基盤

.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様

共通言語基盤(きょうつうげんごきばん、英語: Common Language Infrastructure、略称 : CLI)は、.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様である。仕様は、ECMA-335 および ISO/IEC 23271 として標準化され公開されている。CLIは、プログラミング言語コンピュータ・アーキテクチャに依存しない環境を定義しており、様々な高水準言語で書いたソースコードが書き直すことなく他のプラットフォームでも使える。

共通言語基盤。

共通言語ランタイム (CLR) はCLIの仕様を実装したものの一つである。CLIに適合するプログラムは全て共通中間言語 (CIL) へコンパイルされる。CILは、ハードウェアから抽象化された中間言語であり、実行時にはVESが機械語へコンパイルする。

概念
  • 共通型システム (CTS) — プログラミング言語間で共通して用いられる型の集合
  • メタデータ — プログラムの構造に関する情報。プログラミング言語上やツールなどから参照できる
  • 共通言語仕様 (CLS) — 相互運用性のためのプログラミング言語に対する規定
  • 仮想実行システム (VES) — CLIに適合したプログラムの読込と実行。メタデータを活用して動的に機械語を生成する

標準化とライセンス

編集

2000年8月にマイクロソフトヒューレットパッカードインテルそしてその他いくつかの企業がCLIの標準化に動いた。2001年11月Ecma Internationalに承認され、2003年4月にはISOにも承認された。その翻訳として2006年11月、JIS X 3016が公開された。

マイクロソフトとそのパートナーがCLIに対する特許を保持していたため、Ecma InternationalとISOは実装に必要な全ての特許を「合理的かつ非差別的」なライセンス (RAND) にするよう求め、各企業はそれを受け入れた。そして、「ロイヤリティーフリー、その他はRAND」という形態になった。

実装

編集

脚注

編集
  1. ^ DotGNU Project”. 2023年12月11日閲覧。 “As of December 2012, the DotGNU project has been decommissioned, until and unless a substantial new volunteer effort arises. The exception is the libjit component, which is now a separate libjit package.”
  2. ^ Paul Holman. “Portable Entertainment Development - the console approach” (英語). SCEE. 2012年2月22日閲覧。

参照

編集