目次:
定義-中間言語(IL)とはどういう意味ですか?
中間言語(IL)は、マシンコードへの静的または動的なコンパイルの前に、.NET Frameworkのコンパイラーによって使用されるように設計されたオブジェクト指向プログラミング言語です。 ILは、.NET Frameworkで使用され、マシンに依存しないコードを、.NETプログラミング言語で記述されたソースコードのコンパイルの出力として生成します。
ILは、仮想マシンの実行中にバイトコードに変換されるスタックベースのアセンブリ言語です。 これは、共通言語インフラストラクチャ(CLI)仕様で定義されています。 ILはコンパイルされたコードの自動生成に使用されるため、構文を学習する必要はありません。
この用語は、Microsoft中間言語(MSIL)または共通中間言語(CIL)とも呼ばれます。
Techopediaは中級言語(IL)について説明します
適切なジャストインタイム(JIT)コンパイラの助けを借りて、ILコードはJITコンパイラがサポートする任意のコンピュータアーキテクチャで実行できます。 インタプリタとは異なり、JITコンパイルはパフォーマンスの向上、メモリの保持、およびアプリケーションの初期化中の時間の節約を実現します。 ILは、CLI仕様をサポートするすべての環境でコンパイルされたソースコードを実行できるようにすることで、.NETフレームワークのプラットフォームおよびCPUに依存しない機能を有効にします。
ILコードのコード安全性の検証は、ネイティブにコンパイルされた実行可能ファイルよりも優れたセキュリティと信頼性を提供します。 ポータブル実行可能ファイルのMSILコードを記述するメタデータは、コンポーネントオブジェクトモデル(COM)テクノロジで使用されていたタイプライブラリと中間定義言語ファイルの必要性を排除します。 ILは、メタデータと共通の型システムと組み合わせて、異なる言語で記述されたモジュールを単一のアプリケーションに統合する手段を形成し、言語の独立性を実現します。
ILはコンパイラによる使用においてJavaバイトコードに似ていますが、プラットフォームの独立性と言語の独立性のために設計されているという点で、後者とは異なります。 また、コンパイルされて解釈されないという点でも異なります。
ILには2種類の命令セットが含まれています。 ネイティブCPU命令に類似した基本命令、および高水準言語で使用されるオブジェクトモデル命令。 ILには、オブジェクトのメソッドのロード、保存、初期化、呼び出しに必要なすべての命令が含まれています。 また、算術演算と論理演算、制御フロー、ダイレクトメモリアクセス、例外処理、その他の操作も含まれます。 従来のMicrosoftポータブル実行可能ファイルの実行可能コンテンツに使用される一般的なオブジェクトファイル形式とは異なり、マネージコードのコンパイル後に生成されるポータブル実行可能ファイルには、IL命令とメタデータの両方が含まれます。
ILコードに関連付けられている2つのツールは、MSILアセンブラー(Ilasm.exe)とMSIL逆アセンブル(Ildasm.exe)です。 前者はILコードからポータブル実行可能ファイルを生成し、人間が読み取れる形式でILコードを表示できます。後者は、表示および変更のためにポータブル実行可能ファイルをテキストファイルに変換します。 どちらもVisual Studioの一部として自動的にインストールされます。