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