「共通中間言語」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「'''共通中間言語'''(きょうつうちゅうかんげんご、'''C'''ommon '''I'''ntermediate '''L'''anguage、'''CIL''')とは、Monoおよび[[.NET Frame...」) |
|||
1行目: | 1行目: | ||
− | '''共通中間言語'''(きょうつうちゅうかんげんご、'''C'''ommon '''I'''ntermediate '''L'''anguage、'''CIL''')とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]に類似した仮想マシン語のことである。.NET | + | '''共通中間言語'''(きょうつうちゅうかんげんご、'''C'''ommon '''I'''ntermediate '''L'''anguage、'''CIL''')とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]に類似した仮想マシン語のことである。.NET Frameworkがベータ版だったころまでは「'''M'''icro'''s'''oft '''I'''ntermediate '''L'''anguage」('''MSIL''')として知られており、今なおMSILと呼ぶひとは多い。 |
CILは、オブジェクト指向アセンブリ言語であり、かつ完全にスタックベースの言語である。 | CILは、オブジェクト指向アセンブリ言語であり、かつ完全にスタックベースの言語である。 | ||
.NET系の[[プログラミング言語]]で書かれた[[ソースコード]]は[[コンパイル]]されてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 | .NET系の[[プログラミング言語]]で書かれた[[ソースコード]]は[[コンパイル]]されてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 | ||
− | |||
そのためCILは、理論上ネイティブコードに変換することも、.NET Frameworkの仮想マシンである[[共通言語基盤]]([[CLR]])で実行することもできる。 | そのためCILは、理論上ネイティブコードに変換することも、.NET Frameworkの仮想マシンである[[共通言語基盤]]([[CLR]])で実行することもできる。 | ||
2012年4月2日 (月) 16:30時点における版
共通中間言語(きょうつうちゅうかんげんご、Common Intermediate Language、CIL)とは、Monoおよび.NET Frameworkで用いられるアセンブリ言語に類似した仮想マシン語のことである。.NET Frameworkがベータ版だったころまでは「Microsoft Intermediate Language」(MSIL)として知られており、今なおMSILと呼ぶひとは多い。
CILは、オブジェクト指向アセンブリ言語であり、かつ完全にスタックベースの言語である。
.NET系のプログラミング言語で書かれたソースコードはコンパイルされてCILに変換される。CIL自体はプラットフォームに依存しない(特定CPUに依存しない)命令セットで構成されている。 そのためCILは、理論上ネイティブコードに変換することも、.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
}