共通言語基盤(CLI)

更新日:

用語解説

共通言語基盤(CLI:Common Language Infrastructure)は、複数の高水準言語で作ったプログラムを共通の型・中間言語・メタデータ・実行環境上で相互運用させるためのECMA-335/ISO標準仕様です。

■ 試験で押さえるポイント

  • CTS(Common Type System)は型の宣言・利用規則を統一し、異なる言語間で型安全にデータ・クラスを共有する基盤になります。

  • CLS(Common Language Specification)は各CLI言語が相互利用しやすい共通機能の部分集合・規約です。CTS全体より範囲が狭く、公開APIで守ると多言語から利用しやすくなります。

  • コンパイラはC#などをCILとメタデータを含むモジュールへ変換し、VES(Virtual Execution System)が検証・ロードし、実装ではJIT等でネイティブコードへ実行します。

  • .NETはCLIの代表的実装・エコシステムですが、CLIという標準仕様とMicrosoft製品名は同義ではありません。ガベージコレクション等の実行サービスも提供されます。

■ 選択肢での判断ポイント

CTS=共通型、CLS=言語間公開規約、CIL=共通中間言語、VES=実行系を対応付けます。Java仮想機械や特定のC#文法だけを指すものではありません。

例: C#で作ったクラスをCLI準拠の公開型でコンパイルすると、別のCLI言語から同じメタデータを読み、メソッドを呼び出せます。

音声で聞く

同じ分野の用語