共通中間言語
2012年4月2日 (月) 16:34時点における111.191.121.90 (トーク)による版
共通中間言語(きょうつうちゅうかんげんご、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
}