共通言語インフラストラクチャとは何ですか?
共通言語インフラストラクチャ(CLI)は、コンピュータープログラミング言語の相互運用性を促進する国際的な技術標準のセットです。 また、CLIを使用すると、多くの高水準言語で、プラットフォームやアーキテクチャに依存しないアプリケーションを開発できます。 この目的のためにグループ化された30以上のプログラミング言語があり、共通言語プログラミング仕様の4つの部門を利用してCLI準拠になります。
いわゆる共通型システム(CTS)を利用し、プログラミング構造で一連のデータ型と操作、メタデータ情報を使用すると、言語間のコード記述が可能になります。 CLIは、言語を共通中間言語(CIL)にコンパイルし、CILから、アプリケーションの側面をハードウェアに対応するアセンブリマシン言語に伝えます。 さらに、共通言語仕様(CLS)があります。これは、相互運用を求める言語で使用するための基本ルールセットであり、すべてのCLI準拠プログラムの実行コードのロード、実行、生成のための仮想実行システム(VES)です。 。
ほとんどのCLI準拠言語は、共通言語ランタイム(CLR)を使用してCILに直接コンパイルします。 コンパイルおよびキャッシュされた後、ジャストインタイムコンパイラは、既存のアーキテクチャからマシンコードを割り当てます。 アセンブリマシンコードの構築は、事前コンパイラを使用してCLRの前に構築することもできます。
CLI準拠の言語がオブジェクトの特異性を利用するために、共通言語インフラストラクチャは、オブジェクトが呼び出されたときに他のCLI準拠の言語と共通に保持する機能のみを公開する必要があることを指定します。 CTSで受け入れられたデータタイプのみを使用するように開発されたコードのコンポーネントは、CLI準拠であり、他のすべてのCLI準拠言語にアクセスできると言われています。 さらに、コードの型安全性によって迅速に検証できない言語の構成はCLSから除外されるため、検証可能なコードのみがCLSに準拠していると言えます。
一部のプログラミング機能はコンパイラと開発者の両方に共通であり、他の機能はコンパイラのみが使用できます。 リストは長く、有用な機能がいっぱいです。 コンパイラーのみが使用できる機能は、参照識別子を提供し、キーワードである名前で仮想メソッドをオーバーライドできるキーワードです。 コンパイラと開発者の両方が利用できる機能には、プロパティとその評価者がすべて「静的」、「仮想」、「インスタンス」でなければならないという修飾子機能が含まれます。
実装プログラムは、デスクトップ、サーバー、モバイルデバイス、およびゲームコンソール向けです。 コンピュータービジョン強化プログラムと低レベルの仮想マシンツールキットも、共通言語インフラストラクチャに準拠した言語から開発されています。 共通言語インフラストラクチャランタイムは、プラットフォームに依存しませんが、システムリソースを割り当て、周辺機器を効率的に呼び出します。