メインメニューを開く

差分

マネージドコード

1,103 バイト追加, 2014年1月21日 (火) 02:19
編集の要約なし
'''マネージドコード'''(managed code)とは、[[.NET Framework]]で用いられる[[共通中間言語]]([[CIL]])の[[バイナリ]]形式のことで、[[共通言語基盤]]([[CLI]])で実行される[[プログラム]]を指す。なお、日本では'''マネージコード'''(manage code)と「ド」抜きで表記されることが多い。「ド」の有無で英語の意味が違うよ、などという細かい指摘は英語など知らん大半の日本人には無用である。
== 概要 ==[[ネイティブコード]]などの[[共通言語基盤]]([[CLI]])の外側で動くコードや、[[共通言語基盤]]([[CLI]])の安全性チェック機能などのリミッターを外したコード(たとえば[[C Sharp|C#]]のunsafeキーワードを使ったコード)のことを「[[アンマネージドコード]]」という。また、アンマネージドコードを一切含まない[[プログラム]]のことを[[ピュアマネージドコード]]または[[ピュアマネージド]]という。 マネージドコードは[[ガーベジコレクションガベージコレクション]]などの機能をフルに利用できる。 == バイトコードとマネージドコード ==主に[[Java]]から来た人を中心に[[CIL]]およびマネージドコードのことを[[バイトコード]]と呼ぶこともあるが、[[CIL]]およびマネージドコードは[[オペコード]](命令)のバイト表現が可変長(ほぼ1[[バイト]]だが0xFEで始まる命令群は2バイト)なので、正確には[[固定長]]の命令を絶対条件とする[[バイトコード]]の定義には当てはまらない。
例えるなら[[ネイティブコードCPU]]などので言えば[[共通言語基盤RISC]][[CLICISC]])の外側で動くコードや、のような違いに近い。ただし、[[共通言語基盤CPU]][[CLIRISC]])の安全性チェック機能などのリミッターを外したコード(たとえば[[C Sharp|C#CISC]]のunsafeキーワードを使ったコード)のことを「かを気にする人はほとんど存在しないように、そんな細かいことを気にしても仕方がなく、また大多数の人には意味は伝わるので、よほどの偏屈を相手にする場合を除き、使い分ける必要も、気にする必要もない。そんな細かいことを気にしては[[アンマネージドコードハゲ]]」という。また、アンマネージドコードを一切含まない[[プログラム]]のことを[[ピュアマネージドコード]]または[[ピュアマネージド]]という。るので気にしてはならない。
== 関連項目 ==
* [[中間言語]]
* [[共通中間言語]]([[CIL]])
* [[マネージドコード]]
** [[ピュアマネージコード]]
** [[アンマネージドコード]]
* [[バイトコード]]
* [[ネイティブコード]]
* [[P/Invoke]]
== 参考文献 ==
<references/>{{reflist}}
== 外部リンク ==
{{stub}}
匿名利用者