「共通中間言語」の版間の差分
ナビゲーションに移動
検索に移動
(→関連項目) |
|||
4行目: | 4行目: | ||
.NET系の[[プログラミング言語]]で書かれた[[ソースコード]]は[[コンパイル]]されてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 | .NET系の[[プログラミング言語]]で書かれた[[ソースコード]]は[[コンパイル]]されてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 | ||
− | + | そのためCILは、理論上は[[ネイティブコード]]に変換することも(Monoでは実験的に可能)、.NET Frameworkの仮想マシンである[[共通言語基盤]]([[CLR]])で実行することもできる。 | |
== 使用例 == | == 使用例 == |
2012年4月2日 (月) 16:34時点における版
共通中間言語(きょうつうちゅうかんげんご、Common Intermediate Language、CIL)とは、Monoおよび.NET Frameworkで用いられるアセンブリ言語に類似した仮想マシン語のことである。.NET Frameworkがベータ版だったころまでは「Microsoft Intermediate Language」(MSIL)として知られており、今なおMSILと呼ぶひとは多い。
CILは、オブジェクト指向アセンブリ言語であり、かつ完全にスタックベースの言語である。
.NET系のプログラミング言語で書かれたソースコードはコンパイルされてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 そのためCILは、理論上はネイティブコードに変換することも(Monoでは実験的に可能)、.NET Frameworkの仮想マシンである共通言語基盤(CLR)で実行することもできる。
使用例
CILによる「Hello, world」プログラムの例。
.method public static void Main() cil managed
{
.entrypoint
.maxstack 1
ldstr "hello, world"
call void [mscorlib]System.Console::WriteLine(string)
ret
}