メインメニューを開く

差分

マネージドコード

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